作为另一个用户执行对链接服务器的查询

时间:2014-10-31 07:56:42

标签: sql-server impersonation linked-server

我想执行一个使用链接服务器作为特定用户的查询。但是,即使是一个简单的例子也不行。

当我以用户“domain \ user”打开SSMS时,连接到“serverA”并运行以下代码:

EXECUTE ('SELECT col FROM serverB.dbB.dbo.table')

它工作正常。

但是,当我以用户“domain \ admin”打开SSMS时,请连接到“serverA”并运行以下代码:

EXECUTE ('SELECT col FROM serverB.dbB.dbo.table') AS LOGIN = 'domain\user'

它抛出以下错误:

  

如果没有模拟登录的映射,则无法在模拟下使用链接服务器。

我已经google了很多,但还没有找到任何解决方案。有人知道问题出在哪里吗?

1 个答案:

答案 0 :(得分:2)

当您creating a linked server时,您可以输入远程用户名和密码,并将本地用户映射到远程数据库。

但是,您无法使用此技术映射到域帐户,用户和密码使用SQL Server身份验证。