用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

时间:2012-01-03 21:28:13

标签: sql sql-server reporting-services ssrs-2008 reportingservices-2005

为什么会出现这个错误?

我正在使用Windows身份验证。但我收到错误

用户'NT AUTHORITY \ ANONYMOUS LOGON'

登录失败

任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

很可能这意味着您尝试从模拟的上下文进行连接,而您没有设置约束委派。有关详细信息和疑难解答,请参阅Manage Kerberos Authentication Issues in a Reporting Services Environment

答案 1 :(得分:1)

首先,我总是喜欢在ISS配置中使用未在web.config中设置用户/密码的“模拟”设置。在QA环境中一切都很好,但后来我转到生产环境,生产中的网站的一些选项开始显示“用户登录失败”NT AUTHORITY \ ANONYMOUS LOGON'错误。

问题是我在QA服务器中复制了网站配置,使用IIS6中的“将配置保存到文件”选项,同时在生产服务器中创建了一个全新的应用程序池。

尝试解决此错误几个小时后,我刚刚删除了应用程序池,并使用“将配置保存到文件”选项复制应用程序池配置,然后将其还原到新服务器。

如果您复制网站配置,也请复制应用程序池配置。这解决了我的问题,没有改变任何有关身份验证方法,数据库或网站本身的信息。

答案 2 :(得分:0)

报告设置:
我有一个访问数据源A的报告,有一个访问数据源B的子报告。 报告连接已设置为使用集成安全性。

从我的开发机器:
“主要”报告在我的开发环境中运行得非常好(因为它像我一样运行所有内容。)

从服务器:
我能够直接执行子报表,没有问题。 主报告将运行,文本“错误:无法显示子报表。”

实际问题:
子报表在NTAUTH \ ANON用户下执行,因为它是调用子报表的Reporting Services代码。此错误发生在SSRS日志中: System.Data.SqlClient.SqlException:用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败。

解决方案: 设置子报表数据连接以使用SQL用户登录名执行。 仅授予该用户对您要为报告调用的特定过程执行的操作。 这使我能够在不涉及控制应用程序服务器的其他部门(修改web.configs或IIS配置)的情况下使报告正常工作