SQL Server Reporting Services,在SSRS中,似乎计划表从不会触发,但是查看SQL代理会显示与无法解析用户帐户相关的权限问题。
似乎SQL Agent不依赖于缓存或Windows神奇地工作的任何伏都教。
link text 修复列在这里...... 编辑 -
以上是我用来解决此问题的修复方法,是否有任何人找到了解决此问题的其他工作或解决方案?
默认情况下,SSRS生成的计划似乎作为此虚拟用户帐户运行。如何更改此默认值? SSRS是否以服务运行的用户身份创建作业?
感谢Remus
答案 0 :(得分:7)
我遇到了同样的问题。以下是我修复它的方法。
问题描述 当设置SSRS报告订阅在给定时间运行时,我会等待时间过去,然后发现“上次运行”时间戳没有改变。我的订阅似乎没有运行。
相关的问题排查信息
SSRS报告订阅作为报告服务器Web UI在幕后为您创建的SQL作业执行。
在查看为我的报告订阅创建的作业时,我发现它总是因错误而失败:
工作失败了。无法确定作业0814588B-D590-4C45-A304-6086D5C1F559的所有者(domain \ userName)是否具有服务器访问权限(原因:无法获取有关Windows NT组/用户'domain \ userName'的信息,错误代码为0x5。[SQLSTATE 42000](错误15404))。
在Sql Server配置管理器中,我可以看到“SQL Server Reporting Services”服务已配置为使用AD用户帐户运行。
在Sql Server配置管理器中,我可以看到“SQL Server”服务已配置为使用本地Windows帐户运行。
正如@Remus Resanu所指出的那样,SQL错误15404在无法模拟EXECUTE AS上下文时引用异常。
<强>解决方案强> 答对了! #4和#5是问题的关键。 SQL Server服务(本地Windows用户帐户)尝试在AD中对用户“domain \ userName”进行身份验证,但由于没有权限/权限来访问AD资源,因此无法执行此操作。
我将SQL Server服务更改为AD用户帐户,重新启动SQL Server和SQL Server代理服务,重新运行SQL作业,并且blamo,成功!
答案 1 :(得分:2)
15404是无法模拟EXECUTE AS上下文时的例外情况。造成这些错误的原因很多。最常见的原因是:
ACCESS_DENIED
)ERROR_NO_SUCH_DOMAIN
)正确的解决方案总是依赖于错误代码,这是尝试获取模拟用户身份令牌时的操作系统错误:首先搜索System Error Codes表中的错误代码(或触发windbg,做一个环回非侵入式内核调试连接并且发送!错误,这是我更喜欢的原因更快......)。
所以,约翰......你真的有一个问题,或者只是发布了一段随机的部分信息吗?
答案 2 :(得分:0)
我做了两件事,现在可以了。
1)转到“ SQL Server配置”,更改“ SQL Server代理”-“登录为”以匹配上面的“ SQL Server”。
2)其次,在“ SQL Server代理”中打开“ Microsoft SQL Management Studio”,展开“作业”,您应该能够看到创建的作业。右键单击它,然后转到“属性”。
3)更改所有者,使其也与上面的“ SQL Server代理”匹配。
之后,我可以执行维护计划了。
答案 3 :(得分:0)