SSRS - 无法确定作业所有者是否具有服务器访问权限[SQLSTATE 42000](错误15404))

问题描述 投票:4回答:4

SQL Server Reporting Services,在SSRS中看起来似乎从不触发,但是查看SQL代理会显示与无法解析用户帐户相关的权限问题。

似乎SQL Agent不依赖于缓存或Windows神奇地工作的任何伏都教。

link text修复程序列在这里...编辑 -

以上是我用来解决此问题的修复程序,是否有人发现任何其他解决方案或解决此问题?

似乎默认情况下,SSRS生成的计划作为此虚拟用户帐户运行。如何更改此默认值? SSRS是否以服务运行的用户身份创建作业?

谢谢Remus

sql-server ssrs-2008
4个回答
7
投票

我遇到了同样的问题。这是我修复它的方法。

问题描述当设置SSRS报告订阅在给定时间运行时,我会等待时间过去,然后发现“上次运行”时间戳没有改变。我的订阅似乎没有运行。

相关的故障排除信息

  1. SSRS报告订阅作为报告服务器Web UI在后台为您创建的SQL作业执行。
  2. 查看为报表订阅创建的作业时,我发现它总是因错误而失败: 工作失败了。无法确定作业0814588B-D590-4C45-A304-6086D5C1F559的所有者(domain \ userName)是否具有服务器访问权限(原因:无法获取有关Windows NT组/用户'domain \ userName'的信息,错误代码为0x5。[SQLSTATE 42000](错误15404))。
  3. 在Sql Server配置管理器中,我可以看到“SQL Server Reporting Services”服务已配置为使用AD用户帐户运行。
  4. 在Sql Server配置管理器中,我可以看到“SQL Server”服务配置为使用本地Windows帐户运行。
  5. 正如@Remus Resanu指出的那样,SQL错误15404指的是当EXECUTE AS上下文无法模拟时的异常。

解决宾果! #4和#5是问题的关键。 SQL Server服务(本地Windows用户帐户)尝试在AD中对用户“domain \ userName”进行身份验证,但由于没有访问AD资源的权限/权限,因此无法执行此操作。

我将SQL Server服务更改为AD用户帐户,重新启动SQL Server和SQL Server代理服务,重新运行SQL作业,并且blamo,成功!


2
投票

当EXECUTE AS上下文无法模拟时,15404是例外。造成这些错误的原因很多。最常见的原因是:

  • 当SQL Server实例无法访问AD服务器,因为它作为本地用户或“本地服务”运行时(这将有错误代码0x5,ACCESS_DENIED
  • 当要求SQL Server模拟未知用户时,例如SQL Server不知道的域中的用户(这将有错误代码0x54b,ERROR_NO_SUCH_DOMAIN

正确的解决方案总是依赖于错误代码,这是尝试获取模拟用户身份令牌时的操作系统错误:首先搜索System Error Codes表中的错误代码(或者启动windbg,执行环回非侵入式内核调试连接和去!错误,这是我更喜欢的原因是更快......)。

所以,约翰......你真的有一个问题,或者只是发布一个随机的部分信息?


0
投票

我做了2件事,现在正在工作。

1)转到“SQL Server配置”,更改“SQL Server代理” - “登录为”以匹配上面的“SQL Server”。

enter image description here

2)其次,打开“Microsoft SQL Management Studio”,在“SQL Server代理”中,展开“作业”,您应该能够看到您创建的作业。右键单击它并转到“属性”。 enter image description here

3)更改所有者以匹配上面的“SQL Server代理”。 enter image description here

之后,我可以毫无问题地执行维护计划。


0
投票

只需按照图片中的步骤操作即可

Just follow this steps in images

© www.soinside.com 2019 - 2024. All rights reserved.