reporting-services - 在 SQL Server 报表服务器目录中查找哪些报表使用哪些数据集

标签 reporting-services

我有一个包含许多共享数据集的项目,其中许多不再使用。

我想知道哪些部署的数据集被使用,哪些没有。

那么如何列出 SSRS 文件夹中的所有报告以及报告中使用的所有数据集?

最佳答案

所有报告和所有数据集都存储在 Catalog 表中。

一些试验和错误使我得出结论,类型列值 2 列出了所有报告,类型列值 8 列出了所有数据集。

有一个名为 DataSets 的多对多表,它与 Catalog 表有 2 个外键关系。 LinkId 与 Catalog 表中的数据集相关,ItemId 与 Catalog 表中的报表相关。

这是我的查询:

declare @path as varchar(100) = '/Use Your Folder Path Here%';

with
    Catalog_DataSets
    as (select c.ItemID as DataSetItemId,
               c.Path as DataSetPath,
               c.Name as DataSetName               
        from dbo.Catalog as c
        where c.Type = 8
        and c.Path like @path),

    Catalog_Reports
    as (select c.ItemID as ReportItemId,
               c.Path as ReportPath,
               c.Name as ReportName
        from dbo.Catalog as c
        where c.Type = 2
        and c.Path like @path),

    ReportDataSetUsage
    as (select ds.ItemID as ReportItemId,
               ds.LinkID as DataSetItemId,
               ds.Name as UsageName
        from dbo.DataSets as ds)

select ds.DataSetItemId,
       ds.DataSetPath,
       ds.DataSetName,
       count(rep.ReportItemId) as UsedByReportsCount
from Catalog_DataSets as ds
left join ReportDataSetUsage as ds_to_report
    on ds_to_report.DataSetItemId = ds.DataSetItemId
left join Catalog_Reports as rep
    on rep.ReportItemId = ds_to_report.ReportItemId
group by ds.DataSetItemId,
         ds.DataSetPath,
         ds.DataSetName

现在您可以使用它来查找报表和数据集之间的依赖关系,查找不再需要的数据集,因为它们不再被任何报表使用等。

关于reporting-services - 在 SQL Server 报表服务器目录中查找哪些报表使用哪些数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69450060/

相关文章:

sql-server - SSRS 过程或函数 “” 需要参数 '' ,但未提供该参数

sql - SSRS基于相同数据类型的多条线 - 折线图

java - BIRT 报告未释放与数据库的连接?

java - 如何用java生成动态报告

reporting-services - 报表页脚未导出到 Excel

sql-server-2008 - SSRS :How to create report LIKe pivot table in ssrs 2008 r2

reporting-services - 在报告执行前添加报告描述文本框

sharepoint-2010 - 将凭据从 SSRS 传递到 Sharepoint 数据源时出错

reporting-services - Visual Studio SSRS 编辑器缩放选项

reporting-services - SSRS - 设置表格行高