通过链接服务器从 SQL Azure RLS 数据库查询数据

Querying data over linked server from SQL Azure RLS database

我想通过 SQL Azure 的链接服务器获取数据,该服务器使用行级安全性。问题似乎是查询没有 return 任何数据。

如果我直接在 SQL Azure 上执行相同的查询,我会得到数据。

{SQL 查询链接服务器} - 不工作

EXEC SP_SET_SESSION_CONTEXT @key=N'TenantId', @value='XXX'
SELECT * FROM [AHPRO].[AllHoursProduction].[dbo].[User]

{SQL 查询 SQL Azure} - 正在工作

EXEC SP_SET_SESSION_CONTEXT @key=N'TenantId' ,@value='XXX'
select * from [AllHoursProduction].[dbo].[User]

使用链接服务器时,您有一个本地会话和一个远程会话。您正在本地会话中设置 属性,它对您的远程会话没有影响。

你可以做类似

exec('
EXEC SP_SET_SESSION_CONTEXT @key=N''TenantId'' ,@value=''XXX''
select * from [AllHoursProduction].[dbo].[User]
') at AHPRO

到运行链接服务器上的整个批次。