You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过SQL Server Management Studio查询SSRS报表属性详情的方法

查询SSRS报表配置属性(含自定义代码)的SQL Server表说明

SSRS的所有报表配置信息都存在默认名为ReportServer的数据库里,核心关联表及查询方法如下:

核心表:Catalog

这是存储报表基础信息的主表,报表的RDL定义(包括自定义代码)就存在Content字段里(该字段是压缩后的varbinary类型)。

提取报表基本信息及RDL内容

SELECT 
    ItemID,
    Name AS 报表名称,
    Path AS 报表路径,
    -- 解压Content字段获取完整RDL XML
    CONVERT(XML, DECOMPRESS(Content)) AS 报表RDL定义
FROM 
    ReportServer.dbo.Catalog
WHERE 
    Type = 2 -- Type=2代表报表对象

直接提取自定义代码(Custom Code)

通过XQuery从RDL XML中定位<Code>节点,快速获取自定义代码:

SELECT 
    Name AS 报表名称,
    Path AS 报表路径,
    -- 提取<Code>节点内的自定义代码
    CONVERT(XML, DECOMPRESS(Content)).value('(/Report/Code)[1]', 'nvarchar(max)') AS 自定义代码
FROM 
    ReportServer.dbo.Catalog
WHERE 
    Type = 2
    -- 可选:只筛选包含自定义代码的报表
    AND CONVERT(XML, DECOMPRESS(Content)).exist('/Report/Code') = 1

其他关联表

  • Properties表:存储报表的扩展属性(比如报表描述、参数默认设置、执行超时等),通过ItemID与Catalog表关联:
SELECT 
    c.Name AS 报表名称,
    p.Name AS 属性名称,
    p.Value AS 属性值
FROM 
    ReportServer.dbo.Catalog c
JOIN 
    ReportServer.dbo.Properties p ON c.ItemID = p.ItemID
WHERE 
    c.Type = 2
  • DataSource表:存储报表绑定的数据源信息(含数据源连接字符串、凭据类型等),同样通过ItemID关联Catalog:
SELECT 
    c.Name AS 报表名称,
    ds.Name AS 数据源名称,
    ds.ConnectionString AS 连接字符串,
    ds.Extension AS 数据源类型
FROM 
    ReportServer.dbo.Catalog c
JOIN 
    ReportServer.dbo.DataSource ds ON c.ItemID = ds.ItemID
WHERE 
    c.Type = 2

内容的提问来源于stack exchange,提问作者Elizabeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:52:09