1

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

4

0 回答 0