SSRS计划的报告不起作用
我在SQL Server中安排的报告无法运行。我检查了日志,发现失败的作业。日志中的错误消息是:
'EXECUTE AS LOGIN' failed for the requested login 'NT AUTHORITY\NETWORK SERVICE'. The step failed.
我正在为报表使用SQL身份验证,因此对数据的权限应该不会有问题。服务器上将不会运行任何备份报告。
解决方案
回答
我们可以检查网络服务帐户的权限吗?具体来说,请确保他们具有"充当操作系统的一部分"权限。如果我正确阅读了错误消息,则看起来NT AUTHORITY \ NETWORK SERVICE帐户无法以登录用户身份执行。它看起来好像从来没有遇到过查询,看起来好像在Windows身份验证部分中失败了,所以从不进入SQL身份验证部分。
我们可能还会在Windows中检查"安全事件日志"。如果是身份验证问题,则操作系统可能还会记录其他信息。
回答
我们可以使用Web浏览器访问SRS的Web服务页面(ReportService2005.asmx)吗?如果没有,它可能指向SRS服务,如果可以,它可能指向调度程序服务。
回答
只是为了进行故障排除,我们可以使用域帐户而不是内置的NetworkService帐户来运行服务吗?
我还发现这篇文章描述了我们报告的相同错误:
也许该解决方案将为我们服务。
回答
我在这里找到了答案:
http://www.themssforum.com/SVCS/Unable-execute/
显然," NT AUTHORITY \ NETWORK SERVICE"的登录名有问题,并且无法正常运行其拥有的作业。有人知道为什么会发生这种情况吗?
回答
我似乎想起很早以前就遇到过类似的问题,该问题与访问smtp服务器以发送报告有关,并且通过对服务器应用补丁程序得以解决。
回答
我猜我们正在运行非英语的操作系统。
无论出于何种原因,在将操作系统翻译成其他语言时,有时都会本地化网络服务的登录名。
现在,许多程序期望在德语版本的Windows中将登录名硬编码为" NT AUTHORITY \ NETWORK SERVICE",例如,帐户名称为" NT-AUTORIT?T \ NETZWERKDIENST"。因此,程序正在寻找英文名称,找不到它,并显示错误。
甚至某些Microsoft程序也会在此陷阱中运行,并在安装时显示类似的错误!