我刚刚迁移了一个开发工作站
自移动以来,我的一个访问SQL Server 2000数据库的页面从我的ASP.NET 2.0网页收到以下错误:“用户登录失败'NT AUTHORITY \ ANONYMOUS LOGON'。”
我有:
我使用SqlConnection的连接字符串是“Server = {SERVER_NAME}; Database = {DB_NAME}; Integrated Security = SSPI; Trusted_Connection = True;”
为什么尝试使用NT AUTHORITY \ ANONYMOUS LOGIN登录?我必须假设它是一些特定于IIS7的设置或web.config条目,因为它在迁移之前工作正常。
注意:SQL Server仅限Windows身份验证 - 无混合模式或仅SQL。
答案 0 :(得分:2)
您需要在活动目录中设置SPN。假设您在中间服务器上的域服务帐户下运行SQL Server,则需要在域控制器上运行此链接:
setspn -A MSSQLSvc/SERVERNAME.domain.name:1433 domainname\SQLServiceAccount
为中间服务器名称(代表您访问SQL 2000框的名称)切换SERVERNAME,确保使用完全限定的域名(IE.Myserver.mycompany.local),然后使用domainname \ SQLServerAccount是您用于运行SQL服务的帐户(IE将代表您访问SQL 2000框的帐户)。
如果您想了解更多详情,请参阅MSDN文章 - http://technet.microsoft.com/en-us/library/bb735885.aspx。如果您遇到任何问题,请回复。
答案 1 :(得分:1)
假设SQL Server安装在一个单独的盒子上且位于域
中您的工作站需要在Active Directory中启用委派以传递凭据(“登录令牌”)并允许模拟工作。根据您的其他步骤,这看起来就像您要做的那样,
答案 2 :(得分:0)
在SSMS中运行
EXEC master..sp_addsrvrolemember @loginame = N' NT SERVICE \ MSSQLSERVER',@ irlename = N' sysadmin'