我有一些配置为在报告服务中通过电子邮件传送的报告。昨晚我们遇到了一些网络中断,报告服务无法连接到数据库引擎。
是否有任何方法可以配置在无法发送订阅时发送电子邮件通知?
我正在使用报告服务 2008 R2
最佳答案
(当电子邮件无法发送时您想要一封电子邮件吗?)
直接在 SSRS 中这是无法完成的。但是您可以让 SQL 代理监视订阅的状态。 SQL 代理可以很容易地配置为发送电子邮件。上次运行的状态存储在订阅表中。
来自:http://blogs.msdn.com/b/deanka/archive/2009/01/13/diagnosing-and-troubleshooting-subscriptions.aspx
select
'SubnDesc' = s.Description,
'SubnOwner' = us.UserName,
'LastStatus' = s.LastStatus,
'LastRun' = s.LastRunTime,
'ReportPath' = c.Path,
'ReportModifiedBy' = uc.UserName,
'ScheduleId' = rs.ScheduleId,
'SubscriptionId' = s.SubscriptionID
from ReportServer.dbo.Subscriptions s
join ReportServer.dbo.Catalog c on c.ItemID = s.Report_OID
join ReportServer.dbo.ReportSchedule rs on rs.SubscriptionID = s.SubscriptionID
join ReportServer.dbo.Users uc on uc.UserID = c.ModifiedByID
join ReportServer.dbo.Users us on us.UserID = s.OwnerId
join msdb.dbo.sysjobs j on j.name = CONVERT(nvarchar(128),rs.ScheduleId)
但是这些方法都没有对电子邮件进行排队:它们会尝试,如果出现网络问题,它们就会丢失电子邮件。您可以在 Reporting Services 计算机上安装 SMTP 中继来解决此问题。
关于reporting-services - 当报告服务遇到错误时如何设置电子邮件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770984/