Reporting services SSRS订阅计划已启动/已完成事件
我是SSRS的新手,我正试图找到一种方法来了解预定报告在服务器上何时实际启动,何时完成并成功失败,以及是否已取消。到目前为止,我正在使用ReportingService2010类API与报表服务器进行对话,我认为唯一可行的方法是定制一些东西,在这些时间检查计划和触发事件以查找已启动的事件,并扫描我要保存报表的文件夹以及添加新文件时,我知道报告已成功创建,可能会在x时间后添加超时事件 我不认为这是一个真正干净的方法,我相信你们可能会有一个更简单的答案,因为我相信一定有一种方法可以做到这一点,而不必手动扫描所有内容Reporting services SSRS订阅计划已启动/已完成事件,reporting-services,sqlreportingservice,Reporting Services,Sqlreportingservice,我是SSRS的新手,我正试图找到一种方法来了解预定报告在服务器上何时实际启动,何时完成并成功失败,以及是否已取消。到目前为止,我正在使用ReportingService2010类API与报表服务器进行对话,我认为唯一可行的方法是定制一些东西,在这些时间检查计划和触发事件以查找已启动的事件,并扫描我要保存报表的文件夹以及添加新文件时,我知道报告已成功创建,可能会在x时间后添加超时事件 我不认为这是一个真正干净的方法,我相信你们可能会有一个更简单的答案,因为我相信一定有一种方法可以做到这一点,而不必
我使用ListBooWord方法来访问当前在服务器上运行的所有作业,但似乎不考虑订阅何时完成,因为只有当我在服务器上手动单击运行时才获得ListJoad方法中的结果。< /P> 你们知道吗
非常感谢Claude在“ReportServer”数据库中,很少有表可以为您提供大部分信息。e、 g Subscriptions表的列为LastStatus,它给出了处理的订阅数量和上次运行的报告的状态。e、 g'完成:总共2个,处理2个;0错误“,”挂起“ 示例查询如下所示,用于获取计划,但您可以根据需要进行检查和修改 使用此查询设置一个新报告,并根据您的需要对其进行计划,以便为您提供状态
SELECT CAT.Name
,CAT.[Path] AS ReportPath
,SUB.LastRunTime
,SCH.NextRunTime
,CONVERT(VARCHAR(10), CONVERT(datetime, SCH.NextRunTime, 1), 101) As RunDate
,right(convert(varchar(32),SCH.NextRunTime,100),8) As RunTime
,SUB.[Description]
,SUB.EventType
,SUB.LastStatus
,SUB.ModifiedDate
,SCH.Name AS ScheduleName
FROM reportserver.dbo.Subscriptions AS SUB
INNER JOIN reportserver.dbo.Users AS USR
ON SUB.OwnerID = USR.UserID
INNER JOIN reportserver.dbo.[Catalog] AS CAT
ON SUB.Report_OID = CAT.ItemID
INNER JOIN reportserver.dbo.ReportSchedule AS RS
ON SUB.Report_OID = RS.ReportID
AND SUB.SubscriptionID = RS.SubscriptionID
INNER JOIN reportserver.dbo.Schedule AS SCH
ON RS.ScheduleID = SCH.ScheduleID
--Where CONVERT(VARCHAR(10), CONVERT(datetime, SCH.NextRunTime, 1), 101)
= CONVERT(VARCHAR(10), CONVERT(datetime, getDate()+1, 1), 101)
ORDER BY USR.UserName
,CAT.[Path];
您可以在ReportServer数据库中查询订阅表。