Sql Server链接服务器问题“用户登录失败'NT AUTHORITY \ ANONYMOUS LOGON'

时间:2012-11-01 15:17:51

标签: asp.net sql-server-2008 iis-7 linked-server

我在链接服务器和服务器上都有一个域用户,它指的是链接服务器。 相同的域用户被添加到Web Supplication(asp.net)的池标识中。 发生了什么,该应用程序成功访问本地数据库,所有数据都很好。但是当应用程序尝试访问正在调用链接服务器的存储过程时,它会显示以下错误 "用户登录失败  NT AUTHORITY \ ANONYMOUS LOGON"

但更令人烦恼的是,它总是不会失败,如果有人登录SSMS Web应用程序可以获取此数据,但如果他从服务器注销,一段时间后会出现此错误。

当我们在两台服务器上使用sql server 2008 R2(链接服务器和使用链接服务器的服务器)和Windows 2008时,它工作正常。

但是当我们有Windows 2003服务器和sql 2005(这是使用链接的db)和Windows Server 2008上的sql server 2008时失败了

1 个答案:

答案 0 :(得分:1)

这是因为SQL Server出现“2-Hops”问题。 我能够通过两种方式解决这个问题: 1.仍在使用链接服务器:在远程服务器上创建具有SQL Server身份验证的用户并提供所有必需的权限。然后打开链接服务器属性并将您的帐户映射到刚刚创建的用户,如下所示: enter image description here

之后,您将能够运行脚本

  1. 使用openrowset:

    选择a。* FROM OPENROWSET('SQLNCLI','Server =; Trusted_Connection = yes;',      'SELECT * from .dbo。')AS a;