【问题标题】:Execute query to linked server as another user以另一个用户身份对链接服务器执行查询
【发布时间】:2014-12-27 11:43:02
【问题描述】:

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

当我以用户“域\用户”的身份运行 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'

它会抛出以下错误:

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

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

【问题讨论】:

    标签: sql-server impersonation linked-server


    【解决方案1】:

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

    但是您不能使用此技术映射到域帐户,用户和密码使用 SQL 服务器身份验证。

    【讨论】:

    • 感谢 webturner 的回答。我确实知道用户映射的可能性以及只能映射 SQL 用户这一事实。有没有办法以另一个域用户的身份在链接服务器上执行命令?
    • 不是来自 SQL 服务器,可能来自 c# 使用模拟。 stackoverflow.com/questions/2822449/…
    猜你喜欢
    • 2014-06-08
    • 2016-10-24
    • 1970-01-01
    • 2013-11-18
    • 2011-01-23
    • 1970-01-01
    • 2019-09-29
    • 2019-01-22
    • 2015-07-10
    相关资源
    最近更新 更多