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

joh*_*taa 4 sql-server ssrs-2008

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

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

链接文本 修复在这里列出...编辑 -

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

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

谢谢Remus

Vin*_*rst 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,成功!


Rem*_*anu 1

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

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

正确的解决方案始终取决于错误代码,这是尝试获取模拟用户身份令牌时的操作系统错误:首先在系统错误代码表中搜索错误代码(或启动 Windbg,执行环回非-侵入式内核调试连接并出现!错误,这是我更喜欢的,因为速度更快......)。

那么,约翰...您是否真的有疑问,或者只是随机发布了部分信息?