我正在尝试创建一个将历史订阅错误记录到新表中的过程。
我试图通过使用 ExecutionLogStorage 中的数据来做到这一点,但是我看不到这些数据与特定 SubscriptionID 的关系。我可以将它加入 ReportID,但由于每个报告有多个订阅,这并不能满足我的需要。
我试过谷歌搜索各种脚本,实际上没有一个直接链接到 SubscriptionID。
我需要能够记录一天中成功和不成功的订阅执行的日志,然后将通过 SQL Server 代理作业将其插入到新表中。
我正在尝试创建一个将历史订阅错误记录到新表中的过程。
我试图通过使用 ExecutionLogStorage 中的数据来做到这一点,但是我看不到这些数据与特定 SubscriptionID 的关系。我可以将它加入 ReportID,但由于每个报告有多个订阅,这并不能满足我的需要。
我试过谷歌搜索各种脚本,实际上没有一个直接链接到 SubscriptionID。
我需要能够记录一天中成功和不成功的订阅执行的日志,然后将通过 SQL Server 代理作业将其插入到新表中。
运行以下查询:
SELECT
sj.[name] AS [Job Name],
rs.SubscriptionID,
c.[Name] AS [Report Name],
c.[Path],
su.Description,
su.EventType,
su.LastStatus,
su.LastRunTime
FROM msdb..sysjobs AS sj
INNER JOIN ReportServer..ReportSchedule AS rs
ON sj.[name] = CAST(rs.ScheduleID AS NVARCHAR(128))
INNER JOIN ReportServer..Subscriptions AS su
ON rs.SubscriptionID = su.SubscriptionID
INNER JOIN ReportServer..[Catalog] c
ON su.Report_OID = c.ItemID
这应该为您提供所有订阅报告及其历史记录的列表。
您应该能够以此为指导来做您需要做的其他事情。