SSRS 教程:什么是 SQL Server Reporting Services?
⚡ 智能摘要
SSRS,即 SQL Server Reporting Services,是 Microsoft的服务器端工具,用于从关系型和多维数据生成格式化报表。报表可按需或按计划创建、管理和交付,并使用由报表服务器呈现的报表定义语言 (RDL) 布局。

什么是 SSRS?
SSRS 代表 SQL Server Reporting Services。 它是一款报表软件,允许您生成包含数据表格、图表、图像和图形的格式化报表。这些报表托管在服务器上,用户可以随时使用自定义参数执行这些报表。它是……的一部分 Microsoft SQL Server 服务套件。
报告服务类型
SQL Server报表服务有三种类型:
- Microsoft SQL Server 集成服务整合来自不同来源的数据。
- Microsoft SQL Server 分析服务,可帮助进行数据分析。
- Microsoft SQL Server 报表服务,允许生成数据的可视化报表。
为什么选择 SSRS?
以下是使用 SSRS 工具的主要原因:
- 与 Crystal Reports 相比,SSRS 是一个功能更强大的工具。
- 更快地处理关系型数据和多维数据的报告。
- 为用户提供更好、更准确的决策机制。
- 允许用户在无需IT专业人员参与的情况下与信息进行交互。
- 它提供基于网络的报表部署连接,因此可以通过互联网访问报表。
- SSRS允许将报表导出为不同格式。您可以通过电子邮件发送SSRS报表。
- SSRS 提供了一系列安全功能,可帮助您控制谁可以访问哪些报表。
SSRS 报告示例

考虑一个 SSRS 报告示例,该示例是一家医学研究机构,该机构招募患者参与各种临床试验。
该研究所的工作人员会在每位患者同意参加试验后为其创建数据库记录,医院会根据约定的参与价格从制药公司获得报酬。
如果没有SSRS系统,医疗机构需要手动向制药公司发送一份包含每周参与者总数的报告。此外,机构还必须添加每位试验患者的详细信息、所用药物数量以及所有不良事件。因此,收集并以正确格式发送这些数据所花费的时间可能会占用大量宝贵的临床时间。
如果该机构借助 SSRS 工具记录数据,便可按需生成预定义格式的报告。通过 SSRS,制药公司可以访问云端报告并随时运行,从而获取来自诊所的最新数据。
SSRS 的功能
- 提供一个 简单对象访问协议 (SOAP) 应用和可插拔架构。
- 从托管连接、OLE 连接、ODBC 连接和数据库连接中检索数据。
- 允许您创建临时报告并将其保存到服务器。
- 以多种格式显示数据,包括表格、自由格式和图表。
- 使用报表处理扩展创建自定义控件。
- 在报表中嵌入图形和图像。您还可以使用 SharePoint 与外部内容集成。
- 您可以存储和管理自定义报告。
- 图表和仪表控制功能允许您显示 KPI 数据。
SSRS 的工作原理
- 报表用户是指那些处理数据并希望从中获得一些见解的人员。他们会向SSRS服务器发送请求。
- SSRS 服务器查找报表的元数据,并向数据源发送数据请求。
- 数据源返回的数据与报表定义合并成报表。
- 当报告生成后,它将返回给客户端。
SSRS Archi质地
SSRS 的架构相当复杂。报表服务架构包括开发工具、管理工具和报表查看器。SSRS 的重要组件如下。
报表生成器
它是一款可在客户端计算机上运行的即席报表发布工具。它拥有易于使用的拖放式界面。
报表设计器
报表设计器工具可帮助开发各种类型的报表。它是一个托管在[此处应填写托管平台名称]的发布工具。 Visual Studio中 或商业智能开发工作室 (BIDS)。
报表管理员
报告管理人员检查报告,将其与给定的要求进行匹配,并根据这些报告做出决策。
报表服务器
它是一台使用 SQL Server 数据库引擎来存储元数据信息的服务器。
报表服务器数据库
它存储元数据、报告定义、资源、安全设置、交付数据等等。
数据源
报表服务从关系型数据源和多维数据源等数据源中检索数据。
报告生命周期
每个组织都遵循标准的报告生命周期,可以归纳如下:
创作: 在此阶段,报表作者定义数据的布局和语法。使用的工具是 SQL Server 开发工作室和 SSRS 工具。
管理: 此阶段涉及管理已发布的报告,这些报告通常位于网站上。在此阶段,您需要考虑对报告执行进行访问控制。
交货: 在这个阶段,您需要了解何时向客户群交付报告。交付方式可以是按需交付,也可以是按照预先设定的时间表交付。您还可以添加订阅自动化功能,该功能可以自动生成报告并发送给客户。
什么是 RDL?
报表定义语言(简称 RDL)使用 XML 语法描述报表的所有可能元素,并通过 XML 模式进行验证。单个报表的报表定义基于 RDL,并包含在运行时呈现报表设计的指令。
SSRS报表类型
以下是您可以使用 SSRS 工具创建的报表类型。
| 报告类型名称 | Detail |
|---|---|
| 参数化报告 | 此类报告使用输入值来完成报告或数据处理。 |
| 链接报告 | 链接报表提供指向现有报表的指针。它源自现有报表,并保留了原始报表的定义。 |
| 快照报告 | 快照报告包含在特定时间点可以检索的布局信息和查询结果。 |
| 缓存报告 | 缓存报表允许您创建已处理报表的副本。它通过减少处理请求的数量和检索大型报表的时间来提高性能。 |
| 钻取报告 | 钻取式报表有助于隐藏复杂性。用户可以在隐藏的报表项之间切换,从而控制看到的详细信息程度,并且可以检索报表中可以显示的所有信息。 |
| 钻取报告 | 钻取报表是指通过原始报表文本框中的超链接访问的标准报表。它们是报表项(例如占位符文本或图表)钻取操作的目标。 |
| 子报表 | 顾名思义,子报表是指在主报表主体内部显示另一个报表的报表。 |
使用SSRS的优势
- 它更快捷、更便宜。
- 高效地报告对存储在以下任一位置的信息的访问: MS SQL Server 数据库 or Oracle.
- 无需昂贵的专业技能。
- 默认报表设计器与 Visual Studio .NET 集成,因此您可以在同一环境中创建应用程序和报表。
- 安全管理采用基于角色的方法,可应用于文件夹和报告。
- 订阅用户可自动收到订阅报告。
- 更快地生成关系型数据和多维数据集的报告。
- 为企业提供实时信息,从而更好地支持决策。
使用SSRS的缺点
SSRS 的一些限制如下:
- 没有打印按钮,所以要打印需要导出为 PDF、Excel、Word 或其他格式。
- 所有报告都需要参数才能被用户接受。
- 修改自定义代码和调试表达式非常困难。
- 它不允许您在报告正文中添加页码或总页数。
- 它没有提供将值从子报表传递到主报表的方法。
- 页面页眉总会在每个新页面上留出额外的空间。

