如何统计指定SSRS服务器上的报表数量?
统计SSRS服务器上的报表数量
SSRS的所有报表、文件夹、数据源等对象都存储在ReportServer数据库(如果是命名实例,数据库名可能为ReportServer$InstanceName)的Catalog表中,你可以直接通过SQL查询统计报表总数:
基础统计所有报表数量
SELECT COUNT(*) AS TotalReports FROM ReportServer.dbo.Catalog WHERE Type = 2 -- Type=2代表报表对象,其他常见类型:1=文件夹,5=数据源,6=数据集
按文件夹分组统计(可选)
如果需要按各个文件夹统计报表数量,可以关联自身表获取文件夹名称:
SELECT ISNULL(parent.Name, '根目录') AS FolderName, COUNT(child.ItemID) AS ReportCount FROM ReportServer.dbo.Catalog child LEFT JOIN ReportServer.dbo.Catalog parent ON child.ParentID = parent.ItemID WHERE child.Type = 2 GROUP BY parent.Name ORDER BY ReportCount DESC
注意:
- 确保你拥有访问ReportServer数据库的权限
- 如果SSRS使用了自定义数据库名称,替换上述语句中的
ReportServer为实际数据库名
内容的提问来源于stack exchange,提问作者Michael Benning
相关产品推荐
相关产品推荐

