替代SQL中的@@ remserver

时间:2013-03-23 14:55:44

标签: cross-database

希望在表值函数的定义中使用@@ REMSERVER。但我发现它将在下一版本的SQL Server中消失。有关如何使用远程[server \ instance]的标识来影响生成的行集的任何想法?

e.g。 在服务器上[MAIN]

create view dbo.PartitionedUsers as
Select * from ((Users u inner join Groups g on u.groupid = g.id) 
    inner join servermap s on s.id = g.serverid and s.servername = @@REMSERVER)

在服务器[GROUP1]

CREATE SYNONYM dbo.Users as [MAIN].[catalog].[dbo].[PartitionedUsers]

在服务器[GROUP2]

CREATE SYNONYM dbo.Users as [MAIN].[catalog].[dbo].[PartitionedUsers]

在服务器GROUP1上进行评估时:

SELECT * from dbo.Users 

将仅包含与映射到该服务器的组相关的行。类似地,对于其他服务器GROUP2,...,GROUPN

TA

0 个答案:

没有答案