监控 SSRS 订阅错误

Rol*_*ide 3 sql-server reportingservices-2005 reporting-services ssrs-2008

使用 SSRS 2012,我们利用报告订阅来保存报告网络位置并通过电子邮件发送报告。我熟悉如何调试错误,但我正在寻找一种解决方案,以便在订阅发送失败时提醒我们的支持团队。你可以说我太主动了,我疯了。

我看到了一个监视 ReportServer 表状态的解决方案,但它假设所有订阅都是通过电子邮件进行的(仅处理电子邮件状态)

我还看到了执行日志表(ExecutionLog3),但该表似乎并未捕获所有错误。我通过删除对文件位置的网络访问来强制订阅失败,但该错误不会出现在表中。

我想编写一个 SSRS 报告,可以运行该报告来查看一天发生的所有订阅错误。任何建议表示赞赏。

小智 6

这仅处理最后一条状态消息,因此不能完全回答问题(我遇到这篇文章是因为我正在寻找相同的答案),但它似乎在捕获所有订阅错误(包括文件)方面对我有用分享问题:

select count(*) 
from ReportServer.dbo.[Subscriptions] S 
where 0 = case 
          when S.[LastStatus] = 'New Subscription' then 1 
          when substring(S.[LastStatus],1,9) = 'Mail Sent' then 1 
          when substring(S.[LastStatus],1,5) = 'Done:' 
           and right(S.[LastStatus],9) = '0 errors.' then 1 
          when substring(S.[LastStatus],1,9) = 'The file ' 
           and patindex('%has been saved to the%',S.[LastStatus]) > 1 
           and right(S.[LastStatus],11) = 'file share.' then 1 
          else 0 
      end
Run Code Online (Sandbox Code Playgroud)