SSRS订阅失败rsProcessingAborted

S H*_*son 7 sql-server reporting-services ssrs-2008

我有订阅无法运行给出错误:

发送邮件失败:报告处理过程中出错.邮件不会重新发送.

当通过服务器手动请求时,报告运行正常,因此我知道数据源和连接工作.

在SSRS数据库中,我可以获得的唯一信息来自ExecutionLogStorage:

rsProcessingAborted

ExecutionLogStorage表还显示TimeStart和TimeEnd相隔1秒,在手动运行需要2分钟以上的报表上.手动运行时,报告没有一次失败,只是通过订阅失败.

Windows事件查看器确实包含有关TERADATA扩展的一些错误,但它们与订阅失败不一致.

位于\ Program Files\Microsoft SQL Server\MSRS10_50.Reporting\Reporting Services\LogFiles中的日志甚至在失败期间甚至不包含该订阅的条目.

我不知道去哪里获取更多信息,我需要知道为什么这个订阅失败,我们有办法手动运行报告并在转换为excel后手动通过电子邮件发送,但这不是一个可行的解决方案.

ZeE*_*rer 3

您可以检查的其他一些地方是:

SSRS 日志:

c$\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\LogFiles
Run Code Online (Sandbox Code Playgroud)

您可以尝试在此处启用详细日志记录(级别 4)

C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesService.exe.config
Run Code Online (Sandbox Code Playgroud)

寻找这个标签:

<switches>
  <add name="DefaultTraceSwitch" value="4" />
</switches>
Run Code Online (Sandbox Code Playgroud)

我正在解决非常类似的问题,但让它变得有点复杂,我的订阅仅每隔一段时间就会失败一次,有时运行良好。到目前为止我排除了:

  • 并行 SSRS 会话数
  • 数据库服务器和报告的内存压力
  • 服务器直接启动订阅与远程启动订阅(运行
    代理作业)

抱歉,我没有一个好的答案给你,但这个问题似乎困扰了很多人。

更新: 我发现订阅是由不再有效(ID 已过期)的 Windows 用户创建的。更新订阅所有者修复了该问题。

-- 列出 SSRS 用户(检查以确保新所有者存在于该列表中)

SELECT *
FROM Users
WHERE UserName IN ('DomainName\_SSRSServiceAccount') 
Run Code Online (Sandbox Code Playgroud)

-- DFGRYH-DFGRYH--DFGRYH-DFGRYH

-- 确定您要编辑其所有权的订阅

SELECT *
FROM Subscriptions
WHERE OwnerID = 'DFGRYH-DFGRYH--DFGRYH-DFGRYH'
    AND Description = 'Send e-mail to RichG@DomainName.com'
ORDER BY LastRunTime
    ,LastStatus
Run Code Online (Sandbox Code Playgroud)

-- 使用新所有者更新订阅,更改应反映在 SSRS 报告中

UPDATE Subscriptions
SET OwnerID = 'DFGRYH-DFGRYH--DFGRYH-DFGRYH'
WHERE SubscriptionID = 'B33A78FC-933D-47DB-AB50-43D36B24C0B8'
Run Code Online (Sandbox Code Playgroud)