希望在表值函数的定义中使用@@ 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