希望在表值函数的定义中使用@@REMSERVER。但我看到它会在 SQL Server 的下一个版本中消失。关于如何使用远程 [server\instance] 的身份来影响结果行集的任何想法?
例如在服务器 [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