SSRS 订阅:报告失败时发送电子邮件
SSRS Subscription: Send Email on Report Failure
我有一份带有一些预选参数的 SSRS 报告。
每隔一段时间,报告参数会随机空白,订阅不会创建文件。
如果服务器无法创建报告,是否可以通过电子邮件向我发送电子邮件?
我遇到了类似的问题,我最终创建了配置数据库邮件并创建了一个操作员来在订阅的基础作业失败时通知我。
- 配置 Database Mail 通过 SMTP 服务器发送邮件,即使 gmail 或 outlook 也能正常工作。
- 创建一个 Operator,操作员是可以在作业完成或发出警报时接收电子通知的人员或组的别名。
- 确定运行订阅的基础作业,对
ReportServer
数据库使用此查询。
SELECT
c.Name AS ReportName
, rs.ScheduleID AS JOB_NAME
FROM
dbo.Catalog c
JOIN dbo.Subscriptions s ON c.ItemID = s.Report_OID
JOIN dbo.ReportSchedule rs ON c.ItemID = rs.ReportID
AND rs.SubscriptionID = s.SubscriptionID
JOB_NAME
列将为您提供作业的名称。
- SQL 通过 SSMS 的服务器代理转到
Jobs
文件夹查找作业并右键单击它转到属性。
- 在“通知”选项卡中设置之前创建的
Operator
和发送邮件的条件。
我有一份带有一些预选参数的 SSRS 报告。
每隔一段时间,报告参数会随机空白,订阅不会创建文件。
如果服务器无法创建报告,是否可以通过电子邮件向我发送电子邮件?
我遇到了类似的问题,我最终创建了配置数据库邮件并创建了一个操作员来在订阅的基础作业失败时通知我。
- 配置 Database Mail 通过 SMTP 服务器发送邮件,即使 gmail 或 outlook 也能正常工作。
- 创建一个 Operator,操作员是可以在作业完成或发出警报时接收电子通知的人员或组的别名。
- 确定运行订阅的基础作业,对
ReportServer
数据库使用此查询。
SELECT
c.Name AS ReportName
, rs.ScheduleID AS JOB_NAME
FROM
dbo.Catalog c
JOIN dbo.Subscriptions s ON c.ItemID = s.Report_OID
JOIN dbo.ReportSchedule rs ON c.ItemID = rs.ReportID
AND rs.SubscriptionID = s.SubscriptionID
JOB_NAME
列将为您提供作业的名称。
- SQL 通过 SSMS 的服务器代理转到
Jobs
文件夹查找作业并右键单击它转到属性。 - 在“通知”选项卡中设置之前创建的
Operator
和发送邮件的条件。