我有3台服务器:
server1 :安装了Management Studio的服务器
server2 :在实例server2上运行数据库database2的数据库服务器
server3 :在实例server3上运行数据库database3的数据库服务器
我在server2上创建了一个链接服务器,指向server3。当我使用链接服务器执行脚本时,它可以工作。 但是,当我在server1上登录时,当我在Management Studio中连接到server2并尝试使用链接服务器执行查询时,我收到错误:
用户“NT AUTHORITY \ ANONYMOUS LOGON
登录失败”
为什么这不起作用,而当我在server2上打开Management Studio时它确实有效?
server2和server3都有SQL Server服务和运行在同一帐户下的SQL Server代理,这是一个域帐户。
答案 0 :(得分:0)
似乎是Kerberos Double Hop问题。
您可以尝试通过包含IP地址来重新创建链接服务器。例如,在server2中,链接的服务器为[ServerName], [PortNumber]
(Server2,1433)。
答案 1 :(得分:0)
有趣的是,您在两个不同的数据库服务器(实例)上配置了相同的服务帐户,我建议为每个数据库服务器设置单独的服务帐户并设置正确的SPN(命令:SETSPN,ref https://technet.microsoft.com/en-us/library/cc731241(v=ws.11).aspx)