Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSRS订阅计划已启动/已完成事件_Reporting Services_Sqlreportingservice - Fatal编程技术网

Reporting services SSRS订阅计划已启动/已完成事件

Reporting services SSRS订阅计划已启动/已完成事件,reporting-services,sqlreportingservice,Reporting Services,Sqlreportingservice,我是SSRS的新手,我正试图找到一种方法来了解预定报告在服务器上何时实际启动,何时完成并成功失败,以及是否已取消。到目前为止,我正在使用ReportingService2010类API与报表服务器进行对话,我认为唯一可行的方法是定制一些东西,在这些时间检查计划和触发事件以查找已启动的事件,并扫描我要保存报表的文件夹以及添加新文件时,我知道报告已成功创建,可能会在x时间后添加超时事件 我不认为这是一个真正干净的方法,我相信你们可能会有一个更简单的答案,因为我相信一定有一种方法可以做到这一点,而不必

我是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数据库中查询订阅表。