SQL Server Reporting Services查询

420

我想要一份关于成功报告,成功失败报告的报告,其中包括报告名称,创建报告的用户,失败原因,报告路径,订阅,时间表等附加信息,例如报告名称查看历史数据以显示趋势。

我可以使用哪些表来获取报告所需的数据?

我发现了一个查询,该查询可以为我提供执行此报告所需的部分信息,但是由于它包含的表已不再存在于sql-server 2012的报告服务器DB中,因此它已过时

任何帮助或指导将不胜感激。

[链接到过时的查询] https://social.msdn.microsoft.com/Forums/sqlserver/zh-CN/c6b35fff-2a46-46ce-bc1e-c166a4d65c2d/ssrs-notification-of-success-or-failure-of -report-generation?forum = sqlreportingservices

[链接到我有关此主题的上一个问题]不兼容的SQL Server Reporting Services查询

阿杜古

这是我用来搜索报告服务执行日志的查询。另外,在GitHub上有一些示例报告

DECLARE @all_value AS VARCHAR(10)
DECLARE @LogStatus AS VARCHAR(50)
DECLARE @ReportFolder AS VARCHAR(450)
DECLARE @ReportName AS VARCHAR(450)
DECLARE @UserName AS VARCHAR(260)
DECLARE @StartDate AS DATETIME
DECLARE @EndDate AS DATETIME

SET @all_value = '<ALL>'
SET @LogStatus = '<ALL>' --filter your execution log status here
SET @ReportFolder = '...A Report Folder Name...'
SET @ReportName = '<ALL>' 
SET @UserName = '<ALL>'
SET @StartDate = NULL
SET @EndDate = NULL



;WITH
report_users 
AS
(
    SELECT UserID, UserName, SimpleUserName = UPPER(RIGHT(UserName, (LEN(UserName)-CHARINDEX('\',UserName)))) FROM dbo.Users
)
,
report_catalog
AS
(
    SELECT    
        rpt.ItemID
      , rpt.CreatedById
      , rpt.ModifiedById
      , rpt.[Type]
      , rpt.[Name] 
      , ReportName = rpt.[Name] 
      , rpt.[Description]
      , rpt.Parameter
      , CreationDate = CONVERT(DATETIME, CONVERT(VARCHAR(11), rpt.CreationDate, 13))
      , ModifiedDate = CONVERT(DATETIME, CONVERT(VARCHAR(11), rpt.ModifiedDate, 13))
      , ReportFolder = SUBSTRING(rpt.[Path], 2, Len(rpt.[Path])-Len(rpt.[Name])-2) 
      , rpt.[Path]
      , URL_ReportFolder = 'http://' + Host_Name() + '/Reports/Pages/Report.aspx?ItemPath=%2f'  + SUBSTRING(rpt.[Path], 2, Len(rpt.[Path])-Len(rpt.[Name])-2)  + '&ViewMode=List'
      , URL_Report = 'http://' + Host_Name() + '/Reports/Pages/Report.aspx?ItemPath=%2f'  + SUBSTRING(rpt.[Path], 2, Len(rpt.[Path])-Len(rpt.[Name])-2)  + '%2f' + rpt.[Name]
      , ReportDefinition = CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), rpt.Content))  
      , HostName = Host_Name()
    FROM 
      dbo.Catalog AS rpt
    WHERE 
      1=1
      AND rpt.[Type] = 2
)
    SELECT 
      ReportPath = rpt.[Path]
    , rpt.ReportFolder
    , ReportName = rpt.[Name]
    , rpt.URL_ReportFolder
    , rpt.URL_Report 
    , URL_Report_Filtered = rpt.URL_Report + '&rs:Command=Render&' + CONVERT(VARCHAR(2000), el.[Parameters])
    , UserName = usr.SimpleUserName
    , el.[Status]
    , el.TimeStart
    , el.[RowCount]
    , el.ByteCount
    , el.[Format]
    , el.[Parameters]
    , TotalSeconds = CONVERT(CHAR(8),DATEADD(ms,(el.TimeDataRetrieval + el.TimeProcessing + el.TimeRendering),0),108)
    , TimeDataRetrieval = CONVERT(CHAR(8),DATEADD(ms,el.TimeDataRetrieval,0),108) 
    , TimeProcessing = CONVERT(CHAR(8),DATEADD(ms,el.TimeProcessing,0),108)  
    , TimeRendering = CONVERT(CHAR(8),DATEADD(ms,el.TimeRendering,0),108) 
    , OrderbyDate = CAST(TimeStart AS DATETIME) 
FROM 
    report_catalog AS rpt 
    LEFT JOIN dbo.ExecutionLog AS el ON el.ReportID = rpt.ItemID
    LEFT JOIN report_users AS usr ON el.UserName = usr.UserName
WHERE 
    1=1
    AND (@all_value IN(@LogStatus) OR el.[Status] IN(@LogStatus))
    AND (@all_value IN(@ReportFolder) OR rpt.ReportFolder IN(@ReportFolder))
    AND (@all_value IN(@ReportName) OR rpt.ReportName IN(@ReportName))
    AND (@all_value IN(@UserName) OR usr.SimpleUserName IN(@UserName))
    AND (@StartDate IS NULL OR CONVERT(DATETIME, CONVERT(VARCHAR(11),el.TimeStart,13)) >= @StartDate)
    AND (@EndDate IS NULL OR CONVERT(DATETIME, CONVERT(VARCHAR(11),el.TimeStart,13)) <= @EndDate)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server Reporting Services权限错误

SQL Server Reporting Services主/详细报告

SQL Server Reporting Services创建圈子

SQL Server Reporting Services网址参数不起作用

SQL Server Reporting Services中的Oracle日期格式异常

拿到 SQL Server Reporting Services中存储过程返回的行数

SQL Server Reporting Services文件夹安全管理

SQL Server Reporting Services (SSRS) 安装和配置?

SQL Server 2012安装Reporting Services目录错误

使用C#从SQL Server Reporting Services中读取

自动化配置SQL Server 2017 Reporting Services

更改SQL Server Reporting Services中的CSS类别

权限不足,无法进入SQL Server Reporting Services

较新的SQL Server Reporting Services中的全文理由

如何在SSRS(SQL Server Reporting Services)的iif表达式中使用多值参数?

我可以在 Sql Server Reporting Services (SSRS) (2019) 中创建自定义角色吗?

在Sql Server Reporting Services中使用表内的子报表时不重复表头行

无法在SQL Server Reporting Services报表生成器中格式化日期时间

使用命令行从 SQL Server 2017 Reporting Services 导出到 EXCEL

SQL Server 2012 Reporting Services用户获得错误权限不足rsAccess

SQL Server 2014 Reporting Services配置管理器崩溃

独立于源数据库的SQL Server Reporting Services(SSRS)数据库升级

基于 DateDiff 的 SQL Server Reporting Services 表达式背景颜色

如何在MS Dynamics CRM中查找/查询Reporting Services SQL数据库

SQL Reporting Services中的动态列

如何在Sql Server Reporting Services报表中的表达式列上添加交互式排序

具有自定义查看器的SQL Server 2012 Reporting Services,在页面更改中丢失了排序

CASE 表达式适用于 SQL Server 但不适用于 Visual Studio Reporting Services

有没有一种方法可以在没有SQL Server的情况下部署SQL Server Reporting Services?