【问题标题】:SSRS Subscriptions table and ExecutionLog3 ViewSSRS 订阅表和 ExecutionLog3 视图
【发布时间】:2019-04-24 14:09:11
【问题描述】:

我们有许多具有多个订阅的报告,我希望能够通过查询订阅表和 ExecutionLog3 视图来监控执行情况。

表格和视图之间似乎没有明显的关系。

一个特定的报告有一个数据驱动订阅。报告多次执行,每次使用不同的参数值。我特别想监控这个订阅的进度。 我希望能够识别它何时失败、何时以及使用了哪个参数。

我遇到了一个可能的解决方案here,但他接受的答案是错误的 - 请参阅 cmets

【问题讨论】:

    标签: sql-server reporting-services


    【解决方案1】:

    看看这是否适合你...我已经使用了很长一段时间了。

        SELECT USR.UserName COLLATE Latin1_General_100_CI_AS_KS_WS AS SubscriptionOwner 
              ,SUB.ModifiedDate  as ModifiedDate
              ,SUB.[Description] COLLATE Latin1_General_100_CI_AS_KS_WS As Description
              ,SUB.EventType COLLATE Latin1_General_100_CI_AS_KS_WS as EventType
              ,SUB.DeliveryExtension COLLATE Latin1_General_100_CI_AS_KS_WS As DeliveryExtension
              ,SUB.LastStatus COLLATE Latin1_General_100_CI_AS_KS_WS as LastStatus
              ,SUB.LastRunTime  As LastRunTime
              ,SCH.NextRunTime  As NextRunTime
              ,SCH.Name    COLLATE Latin1_General_100_CI_AS_KS_WS    AS ScheduleName
              ,CAT.[Path]  COLLATE Latin1_General_100_CI_AS_KS_WS AS ReportPath
              ,CAT.[Description] COLLATE Latin1_General_100_CI_AS_KS_WS AS ReportDescription
              ,CAT.Name COLLATE Latin1_General_100_CI_AS_KS_WS AS ReportName
        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 
             INNER JOIN ReportServer.dbo.ExecutionLog3 EX 
                ON Cat.Path = EX.ItemPath AND EX.RequestType = 'Subscription'
        ORDER BY 1,10 
    

    【讨论】:

    • 谢谢,但这不是加入执行日志视图,我想监控每次执行的进度
    • 它有一个列...SUB.LastRunTime As LastRunTime 以及SUB.LastStatus
    • 此查询仅返回订阅级别的数据,而不是单个报表执行级别的数据
    • 在查询中添加了 ExecutionLog3 视图...看看是否适合您。
    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    相关资源
    最近更新 更多