作者:John H. Miller, Microsoft Corporation
摘要:SQL Server Reporting Services 通过提供基于服务器的综合性报表平台,扩展了 Microsoft Business Intelligence (BI) 的应用前景。Reporting Services 将集中式管理报表的速度、伸缩性和易管理性与桌面和 Web 应用程序的灵活性和按需供应特性完美综合在一起。本部署指南提供了解决方案概述、有关安装及部署问题的讨论,并对下一个版本 SQL Server 中的 Reporting Services 基本操作进行了大致介绍。
本页索引
简介
Microsoft® 的 SQL Server™ Reporting Services 是一个报表平台,它将集中式管理报表的速度、伸缩性和易管理性与桌面和 Web 应用程序的灵活性和按需供应特性完美综合在一起。
关于本文档
本文档对 Reporting Services 进行了概述、讨论了一些部署问题、提供了安装指导,并对产品基本操作进行了大致介绍。其目的是为安装、配置和开始使用 Reporting Services 提供充分的指导。
但是,本指南并未提供有关 Reporting Services 的完整综合信息。有关产品使用和开发界面的详细信息,请参见 Reporting Services 附带的联机图书。本指南中的全部信息均引自该产品文档。
建议阅读
本文档假定您对下列主题已相当熟悉:
|
Microsoft SQL Server®
|
|
Microsoft Internet Information Server (IIS)
|
|
基于 Web 的应用程序访问
|
|
.NET Framework
|
有关这些主题的信息,均可从 MSDN Web 站点 (http://msdn.microsoft.com/) 及 SQL Server 主页 (http://www.microsoft.com/sql/) 处获得。
概述
SQL Server Reporting Services 可以应用在任何实际的企业环境中,使用 SQL Server Reporting Services,人们可以更轻松地获取所需信息,这使得 Microsoft Business Intelligence (BI) 的应用前景得以扩展。将 Reporting Services 集成为数据库环境的一部分,企业便可以使用单一的综合性 BI 平台来管理成本。
Reporting Services 是一个基于服务器的综合性平台,可用于创建、管理和交付传统的书面报表和基于 Web 的交互式报表。产品的模块化设计和广泛的“应用程序编程接口”(API) 使软件开发人员和企业能够在原有系统或第三方应用程序中集成报表功能。
Reporting Services 是 SQL Server 2000 的一个组件,它包括:
|
用于创建、管理和查看报表的一组完整工具。
|
|
用于装载和处理报表的引擎。
|
|
用于在各种 IT 环境中内嵌报表或集成解决方案的可扩展架构和开放式接口。在特定环境下,您还可以扩展产品在数据源、数据转换或报表交付方面的原始能力。
|
新的报表模式
Reporting Services 提供了独一无二的优势组合:
|
完整的报表平台。Reporting Services 支持完整的报表生命周期,从报表的制作到交付以及后续管理。
|
|
灵活、可扩展的报表。Reporting Services 可创建各种格式的静态报表和交互式报表。开放式 API 和可扩展架构支持对多种环境和解决方案的集成。
|
|
伸缩性。产品以服务器为基础的设计方式可以轻松地调整为支持高容量的环境。您可以使用多个报表服务器创建一个报表服务器组,为成千上万个客户端提供服务。
|
|
集成了 Microsoft 产品和工具。Reporting Services 是 Microsoft SQL Server 的一个组件,因此不需要对其进行程序设计和自定义设置,便可轻松地将其与您熟悉的 Microsoft 工具进行集成,例如 Office。使用单一的集成平台可帮助您控制成本和加快部署。
|
由于 Reporting Services 将单一的完整性报表平台和可伸缩、可扩展的架构结合在一起,因此可以满足各种不同的报表需求。 下表列出了客户在使用 Reporting Services 过程中可能遇到的一些需求示例。
企业报表
|
企业 IT 员工可以为内部报告和 BI 应用程序设计各种不同的报表。员工可以接收交互式报表,或在企业门户网站上访问这些报表。
|
嵌入式报表
|
ISV 和 ASP 可以使用 Reporting Services 来交付预定义的报表,将其作为打包应用程序的一部份。客户的 IT 部门可以依原样运行报表,也可以根据特定的需求定制报表。
|
提供给合作伙伴/客户的基于 Web 的报表
|
企业可以使用传统报表或基于 Web 的报表通过外部网络与客户或合作伙伴进行交流。
|
Reporting Services 的主要功能
Reporting Services 是一个完整的报表平台,支持从制作到部署的整个报表生命周期。
报表制作功能
Reporting Services 提供了开始创建传统报表或交互式报表所需要的工具,其中包括带有报表设计向导的图形报表设计器工具。下表描述了其中许多功能。
支持广泛的数据源
|
Microsoft SQL Server
Oracle 数据库
任何与 ODBC 或 OLE DB 兼容的数据源
|
开放式报表制作选项
|
Report Designer (使用 Visual Studio .NET)
基于 XML 的报表定义语言 (RDL)
生成 RDL 的第三方工具
|
灵活的报表设计
|
自由格式
表格
矩阵
图表
使用运行时过滤的参数化报表
向下挖掘
链接报表
|
报表管理功能
Reporting Services 提供了可以在各种不同环境中管理报表的综合功能。
Reporting Services 中包括了 Report Manager,它是一种基于 Web 的报表管理工具。您也可以使用 Reporting Services 的 Web 服务 API 来通过其他工具创建接口。下表描述了其中许多功能。
报表信息和元数据
|
名称
描述
|
数据源和连接信息
|
数据源类型
连接字符串
凭证
|
参数化报表的参数 (默认值、提示值)
|
管理参数化报表的提示值和默认值
|
执行属性
|
按需设定 (实时)
多用户共享高速缓存
快照 (静态)
|
报表计划
|
与 SQL Server Agent 集成
|
报表历史记录
|
已处理报表的档案副本,用于检查和审核
|
基于角色的灵活的安全模型可以保护报表和资源,并支持所有这些功能。可以对安全性进行灵活设计,以满足各种广泛的需求;例如,用户有权用自己的参数根据要求运行报表,或有针对性地设计个人的报表订阅。管理员可以将不同报表的内容管理功能分配给特定的人员。
报表交付功能
您可以将报表发布到门户网站、用电子邮件发送给用户,或是授予用户 Web 应用程序的访问权,以检索报表。导航和搜索功能可帮助用户查找和运行所需报表。个性化订阅可让用户选择他们喜好的转换格式及时间日程。下表描述了其中许多功能。
报表交付功能
|
详细信息
|
报表转换选项的范围
|
Web 格式 (HTML)
打印格式 (PDF、TIFF)
数据 (Excel、XML、CSV)
通过开放式 API 实现的其他格式
|
灵活的交付选项
|
日程交付或事件驱动交付
个人订阅
转换报表或链接的交付
数据驱动的订阅
|
架构和组件
Reporting Services 使用模块化的分布式架构设计,可以确保设计的伸缩性和灵活性。
图 1:Reporting Services 架构
Reporting Services 的三个主要的组件分别代表:应用程序层、服务器层和数据层:
Report Manager
|
基于 Web 的报表访问和管理工具,随 Reporting Services 一起分发。此组件安装在 Web 服务器上。
|
Report Server
|
具有多个组件的 Web 服务,用于:
1.
|
处理 Web 服务 API 和 URL 请求。
|
2.
|
处理报表,包括运行查询、评估表达式以及生成输出格式。
|
3.
|
提供快照和报表高速缓存管理。
|
4.
|
支持并强制执行安全策略和授权。
|
|
ReportServer 数据库
|
储存 Report Server 所使用信息的 SQL Server 数据库,包括报表定义、报表元数据、高速缓存的报表、快照和资源。它还存储安全性设置、帐户信息以及日程和交付数据。
|
图 1 还显示了一些与 Report Server 交互的客户端:
Report Designer
|
Report Server 中包含这个与 Microsoft Visual Studio® .NET 2003 集成的可视化报表制作工具。
|
第三方工具
|
通过开放式接口和 Web 服务 API 为第三方管理和制作客户端提供支持。
|
数据源处理、报表转换和交付,都使用 Report Server 中提供的模块来实现的。这些扩展功能均使用已发布的 API。
因此,您不需要更改或自定义设置,就可以使用本产品,以满足下列特定需要:
|
使用 Web 服务接口来创建管理报表服务器的应用程序。
|
|
创建应用程序或使用 Web 浏览器通过 URL 来操作报表输出。
|
|
使用 Microsoft .NET Framework 创建其他的转换、交付及数据处理扩展功能。
|
计算机部署替代方案
Reporting Services 组件可以在一台服务器上运行,也可以在多台服务器上运行,允许多种灵活的可伸缩实现。小型企业通常可使用单台服务器的部署方式,获得可接受的报表处理性能,如图 2 所述。
图 2:小型企业典型部署图
大中型企业可能希望将报表处理负载分散到不同的机器上,采用多台服务器的方式可以完成此工作,如图 3 所述。
图 3:大中型企业典型部署图
对伸缩性有强烈需求的企业可以使用“Web 阵列”的方法来扩大 Report Server 部署,还可通过合并群集来降低服务故障的出现机率,以保护其数据库,如图 4 所述。
图 4:企业典型部署图
报表术语
熟悉下列术语有助于了解 Reporting Services。
数据源
|
报表数据的输入来源,通常是 Report Server 在报表定义中用于生成报表的其他数据库或应用程序。
|
链接报表
|
通过与另一份报表的链接衍生出其定义的报表。您可以使用链接报表来保存包含您设置和输入值的报表版本。
|
命名空间或文件夹层次
|
绑定的命名空间,可以唯一识别出报表服务器存储和管理的所有报表、文件夹、数据源引用和资源。
|
参数化报表
|
通过参数接受输入值的已发布报表。
|
报表定义
|
报表的 XML 蓝图,包含有关查询和设计方面的信息。
|
报表快照
|
处理后的与格式无关的报表,包含在特定时间点捕获的数据。与报表定义一样,只是它包含的是数据组而不是只包含查询信息。
|
呈现报表
|
经过完全处理后的最终报表,包含数据和布局信息,该报表以适合查看的格式 (例如 HTML) 显示。
|
资源
|
存储在 ReportServer 数据库中,可由多个报表共享的文件 (例如位图)。
|
预部署注意事项
下节描述了您在安装及部署 Reporting Services 之前,应事先考虑的安装和配置注意事项。
命名规则
报表在层次命名空间中进行组织,可通过 Report Server 中的虚拟目录对其进行访问。在安装过程中,系统会要求您配置 Report Server 和 Report Manager 的虚拟目录。
Report Server 的默认虚拟目录为 /ReportServer。如果 Report Server 安装在已命名的实例上,则该实例的名称将会追加到虚拟目录:/ReportServer$NamedInstance。
Report Manager 的默认虚拟目录为 /Reports。在安装过程中,您所输入的虚拟目录路径会与基础服务器 URL 有关。如果服务器地址为 http://servername,则应输入 http://servername/Reports 来访问 Report Manager。
虚拟目录名称必须符合 IIS 规则。
系统要求和必备条件
安装 Report Server 需要以下条件:
|
IIS Web 服务器,用于加载服务器端的报表组件。
|
|
SQL Server 运行实例,用于加载 Reporting Services 数据。
|
|
可在 SQL Server 运行实例上登录和创建数据库的用户帐户,用于加载报表数据库。
|
|
SMTP 服务器,用于交付电子邮件报表。
|
下面是简要介绍了各组件的一般要求:
Report Server
|
Web 服务器 (需要 IIS)
|
Report Manager
|
Web 服务器 (需要 IIS)
|
ReportServer 数据库
|
SQL Server
|
配置工具和实用程序
|
可访问报表服务器的客户端工作站
|
Report Designer
|
安装有 Visual Studio .NET 2003 (任何版本) 的客户端工作站
|
下面各节描述了 Reporting Services 对各类系统的要求。
服务器要求
SQL Server 2000 Reporting Services 的服务器组件需要下表中描述的受支持操作系统之一。
安装了SP4 或更高版本服务包的 Windows® 2000 Server
安装了SP4 或更高版本服务包的 Windows 2000 Advanced Server
安装了SP4 或更高版本服务包的 Windows 2000 Datacenter Server
|
IIS
SQL Server 2000a + SP3a
SQL Server Agent
|
安装了SP1 或更高版本服务包的Windows XP Professional
|
计算机为域的成员
“简单文件共享”处于关闭状态
IIS
SQL Server 2000a + SP3a
SQL Server Agent
|
Windows Server™ 2003 Standard Edition
Windows Server 2003 Enterprise Edition
Windows Server 2003 Datacenter Edition
|
应用程序服务器角色 (启用 ASP.NET)
SQL Server 2000a + SP3a
SQL Server Agent
|
Report Server 和 Report Manager 都需要 Internet 信息服务 (IIS)。IIS 应在运行此安装程序之前先行安装。
有关 Report Designer 的要求信息,请参见下面的“客户端要求”。
处理器
|
最低要求为 500 MHz Pentium II 级别处理器,建议使用 600 MHz Pentium III 级别的处理器
|
内存
|
服务器组件要求的最低内存为 256 MB,建议使用 512MB
|
硬盘
|
安装驱动器上可用空间不小于 100 MB
|
Report Server 数据库
Reporting Services 安装程序会安装和配置一个 SQL Server 关系数据库,用以存储报表定义、元数据和历史记录。可以在已经运行 SQL Server 2000 实例或连接到远程实例的机器上安装 Reporting Services 。Reporting Services 不支持单一服务器上的多个实例。
.NET Framework 相关性
Report Server 和 Report Manager 都需要 Microsoft .NET Framework 1.1。如果尚未安装 Microsoft .NET Framework 1.1,安装程序会对其进行安装。如果尚未在 IIS 中注册 ASP.NET,安装程序也会对其进行注册。
在 Microsoft Windows® Server 2003 上安装 Report Server 之前,必须手动启用 ASP.NET。您可以使用配置服务器向导或添加/删除程序来启用 ASP.NET。
|
要使用“配置服务器向导”启用 ASP.NET,需要在服务器中添加“应用程序服务器”角色。
|
|
要使用“添加/删除程序”启用 ASP.NET,需要添加“应用程序服务器”Windows 组件,并在“详细信息”视图中选择 ASP.NET。
|
客户端要求
对于查看发布的报表,除了对浏览器有要求外,对操作系统没有最低要求。
要访问 Report Manager,需要 Internet Explorer 6.0 或更高版本。
Report Designer 要求
在下列任何已应用最新 Service Pack 的操作系统版本上,都可以运行 Report Designer:
|
Windows 2000
|
|
Windows XP
|
|
Windows Server 2003
|
Report Designer 要求必须安装有任一版本的 Microsoft Visual Studio® .NET 2003。
只有 Report Designer 要求具有 Visual Studio .NET 2003,任意版本的 Visual Studio .NET 都适用。如果需要开发自定义的前端应用程序、扩展功能,或是将报表服务器集成到自定义解决方案中,可以使用 Visual Studio .NET 2002 或 Visual Studio .NET 2003。
不同的报表转换格式可能会有不同的要求。例如,客户端必须使用 Adobe® Acrobat® Reader® 来查看 PDF 文件,而访问 XLS 格式的报表则需要有 Microsoft Excel。
系统帐户要求
Reporting Services 组件需要适当的用户凭证,才能够:
|
于安装过程中在 SQL Server 实例上安装 Report Server 数据库。
|
|
在运行时将报表服务器连接到 Report Server 数据库。
|
|
在运行时对 Windows 服务启动 Report Server。
|
所需条件描述如下。
安装凭证
安装程序需要有系统管理员 (sa) 权限,才能在 SQL Server 实例上开始创建 Report Server 数据库。这些凭证可以使用“Windows 验证”或 SQL Server 验证,具体使用哪种验证取决于服务器实例上的安全性配置。安装了 Report Server 数据库之后,管理员可能会降低权限要求,为帐户分配用于连接 Report Server 和服务器数据库的凭证。
后续操作的帐户/凭证
Report Server 应当具有数据库拥有者权限,才能登录到报表服务器数据库;还应当具有本地系统管理员级别的权限,才能启动报表服务器服务。
在安装过程中,您可以指定一个本地系统帐户和一个域用户帐户以供使用。
本地系统帐户
|
本地系统的管理员
|
域用户帐户
|
管理员组的成员
|
在安装过程中,会创建一个名为 RSExecRole 的新角色。指定的帐户在安装过程中是公用的,RSExecRole 角色用于报表服务器数据库,RSExecRole 角色用于 MSDB 数据库。
安装和配置
安装 Reporting Services 最简单的方法就是使用可视化安装程序,此安装程序中包括一个指定安装选项的向导。根据所安装的组件,安装程序会提示您输入登录凭证、虚拟目录名称及其他信息。
安装程序会在本地安装除 Report Server 数据库以外的所有组件,Report Server 数据库可以在远程 SQL Server 实例上运行。安装程序可以在单一计算机上安装所有的组件,也可以只安装特定的组件。最简单的配置就是单一系统安装。
安装说明中提供了有关使用安装程序或命令行界面进行安装的详细说明。
运行安装程序
在运行安装程序之前,请确保 Distributed Transaction Coordinator 服务的“启动类型”已设置为“自动”或“手动”。如果禁用 Distributed Transaction Coordinator,安装程序将会失败。
运行 setup.exe 文件。除了基本的用户信息之外,系统还会提示您输入许多其他设置,下表对这些设置进行了汇总:
要安装的组件
|
功能列表应包括:
|
服务器组件:Report Designer、Report Manager
|
|
客户端组件:Report Designer、管理工具、文档和示例。
|
系统帐户
|
选定“使用本地系统”帐户。
|
虚拟根目录名称
|
虚拟目录的根目录名称。如果出现默认值,请使用默认值。
|
SQL Server 配置
|
请提供与本地 SQL Server 实例的连接。如果您在 Windows Server 2003 上运行 SQL Server,则必须使用 SQL Server 验证连接到报表服务器数据库。
|
邮件服务器
|
请选择邮件路由服务器。
|
安装完成后,可能会要求您重新启动计算机。
使用命令行实用程序设置 Report Server 数据库连接
如果您在 Windows Server 2003 上运行 SQL Server,则必须使用 SQL Server 验证来连接到报表服务器数据库。否则,日程和订阅会因内部错误 (rsInterntalError) 而失败。
如果在安装过程中没有选择“SQL 登录帐户”,则可以通过命令提示符运行 rsconfig.exe,以修改验证模式。您必须先启动 WMI Provider,然后才可以使用 rsconfig。有关详细信息,请在 Reporting Services 的联机图书中搜索 rsconfig。请使用以下语法:
rsconfig -sYourSQLServer -mYourComputerName -dReportServerDatabaseName
-aSQL -uYourUserName -pYourPassword
服务器配置文件
RSReportServer.config 文件包含的信息有数据连接字符串 (基于安全理由而加密)、SQL Server Agent 作业值以及包含控制报表服务器属性的几个扩展功能。配置文件安装在 \Reporting Services\bin 文件夹中。
下列扩展功能是 RSReportServer 配置文件的一部分:
|
“数据处理”扩展功能,是数据元素中的元素
|
|
“转换”扩展功能,是转换元素中的元素
|
|
“交付”扩展功能,是交付元素中的元素
|
|
“交付 UI”扩展功能,是交付 UI 元素中的元素
|
|
“事件处理”扩展功能,是事件处理元素中的元素
|
这些扩展功能可以通过程序设计方式来自定义。
在联机图书的 "Administering Report Services" 主题中,对 RSReportServer.config 文件的格式进行了描述。
配置电子邮件交付
Report Server 包括用于报表交付的电子邮件交付扩展功能。最初的电子邮件配置发生在安装过程中。要在安装之后进行对其进行更改,需要编辑下列配置文件。
|
RSreportserver.config,该文件包括用于处理和交付的设置。
|
|
RSwebapplication.config,该文件包括初始化 Report Manager 订阅页面的设置。
|
下表列出了比较重要的配置文件设置,这些设置会影响电子邮件的交付。有关所有可能设置的详细信息,请参阅联机图书的 "Using Reporting Services Configuration Files" (使用 Reporting Services 配置文件)主题。
Extension Name(扩展名)
|
默认值为 Report Server Email,该值在 Rswebapplication.config 中指定。在定义订阅时,它会出现在可用交付扩展功能的下拉列表中。此文本没有经过本地化。
也可以在 Rsreportserver.config 中指定该值。它不会在用户界面中公开。
|
DefaultDeliveryExtension
|
默认值为 True,该值在 Rswebapplication.config 中指定。它用于确定是否在订阅用户界面中对 Report Server Email 交付扩展功能进行初始选择。
|
SMTPServer(SMTP服务器)
|
服务器名称。指定 SMTP 服务器的另一种方法是通过 IP 地址指定。改用指定 IP 地址的方法时,还需要设置 SMTPServerPort。
|
From(发件人)
|
发送出站电子邮件的现有电子邮件帐户。
|
PermittedHosts
|
此值可以显式指定接收电子邮件交付的主机,因而可用于限制报表的分发。如果指定了主机,则只有为该主机定义的电子邮件帐户才是有效的收件人。此外,如果设置了 PermittedHosts,您必须在 PermittedHosts 的值列表中包括为 DefaultHostName 指定的服务器。
默认情况下不设置此值。如果没有设置此值,可以接收电子邮件报表的对象将不受限制。
|
SendEmailToUserAlias 和 DefaultHostName
|
这些值要一起使用。如果设置了 SendEmailToUserAlias,则还应当设置 DefaultHostName。
当 SendEmailToUserAlias 设置为 True 时,系统会自动将定义个人订阅的用户指定为报表的收件人,且将隐藏 To 字段。如果此值设置为 False,将对用户显示 To 字段。将 SendEmailToUserAlias 设置为 True 可控制报表分发。建议将此值设置为 True。DefaultHostName 会将主机名称追加到电子邮件别名中。
|
UnprivilegedUserRenderFormats
|
此值可用于限制转换格式,当通过管理个人订阅任务来启用订阅时,用户可以为报表订阅选择转换格式。
|
EmbedRendering
|
此值可用于指定转换格式,转换格式用于在电子邮件消息的正文中封装报表。嵌入式报表的转换格式包括 HTML4.0 和 MHTML。报表所包含的任何图象都会嵌入到报表中。ActiveX 控件无法嵌入。
|
启动 Reporting Services 组件
您可以从下面的网址直接访问 Report Server Web 服务:
http://servername/reportServer
访问 Report Manager 时使用:
http://servername/reports
Report Designer 位于 Visual Studio.NET 2003 之中。可通过在 "Business Intelligence Projects" 文件夹中选择 "Report Project" 或 "Report Project Wizard" 来创建新的报表工程。
报表制作
创建报表的过程如下:
1.
|
连接到数据源
|
2.
|
指定查询。
|
3.
|
安排页面上的报表项。
|
4.
|
预览结果。
|
报表是使用报表定义语言 (RDL,Report Definition Language) 所定义的,报表定义语言是一种描述报表元素的 XML 格式语言。
您不需要编写 RDL 就可以创建报表;Reporting Services 包括用于创建和发布报表定义的可视化工具。虽然 Report Designer 使用 Microsoft Visual Studio® .NET 环境提供对所有报表设计功能的访问,但是您不需要编写代码就可以创建报表。
您也可以直接编写 RDL,或使用可以创建 RDL 的第三方工具来创建报表。在联机图书的 Reporting Services Programming 主题中,描述了 RDL 规格。Building Reports 主题则描述了如何使用 Report Designer 来创建报表。
数据源支持
Reporting Services 可以从各种不同的数据源创建报表。
Reporting Services 对下列数据源的提供了内置支持:
|
SQL Server 2000 / SQL Server 7.0
|
|
OLE DB 数据源 (包括 SQL Server Analysis Services)
|
|
开放式数据库连接 (ODBC) 数据源
|
|
Oracle
|
发布报表
如果您正在使用 Report Designer,则可以从制作环境向 Report Server 发布完整的报表 (假定为您分配的角色具有发布权限)。
在您发布报表之前,必须先设置目标服务器。目标服务器信息存储在报表工程的属性中。您可以分别为测试和生产环境设置不同的目标服务器。
构建报表时,请使用 "Property Pages" 对话框,输入报表服务器 (以及任何在报表服务器内的文件夹) 的 URL,并选择 "Deploy"。
Report Server 文件夹
Report Server 使用文件夹结构来存储和导航报表及资源。
Report Server 文件夹层次是一个命名空间,其中包含了预定义文件夹和用户定义的文件夹。命名空间可以唯一识别存储在报表服务器数据库中的报表和其他项。
从概念上来说,这个文件夹层次和文件系统中的文件夹层次类似,您可能会在其中包含一个顶层文件夹为 Sales 的文件夹结构,并在 Sales 文件夹下包含所有的销售数据。Sales 文件夹可能包含名为 2001 和 2002 的两个子文件夹,这两个子文件夹分别存储包含 2001 和 2002 年销售数据的 Excel 文件。
在 Reporting Services 中,您将使用通过 Web 访问的虚拟文件夹。 实际上这些文件夹及其内容并未存在于文件系统中。而是存在于报表服务器数据库中,不过,当您通过浏览器或启用 Web 的应用程序来访问报表服务器时,它们便会显示为文件夹和项目。当您选择或定位报表时,文件夹名称的路径就会变成该报表 URL 的一部分。
使用 Report Manager 可以创建新的文件夹、修改文件夹和删除文件夹。
Home 文件夹即为根级别的文件夹。根据默认的安全性设置,属于 Everyone 组的 Windows 用户具有根文件夹的“浏览者”角色分配,而属于 Administrator 组的用户则具有管理员的角色分配。有关安全性结构的详细信息,请参见“安全性”。
由于子文件夹会继承其父级的安全性特性,因此主文件夹的安全性会有效地建立其余树的安全性默认值。
要创建新的文件夹,请先导航至该位置,然后使用新建文件夹页面。下表中描述了默认的文件夹结构:
Home
|
文件夹层次的起始位置。
|
My Reports
|
将用户重定向到个人工作区,个人工作区对应于 Users 文件夹的子文件夹。
当启用 My Reports 功能时,便会出现这个文件夹。
|
Users
|
将报表存储在每个用户的子文件夹中。只有服务器管理员能够看到这个文件夹,用户看不到。这些子文件夹的命名规则基于用户名称。
当启用 My Reports 功能时,便会出现这个文件夹。
|
您可以通过上传报表或从现有报表创建链接报表来填充新的文件夹。使用 Report Designer 的报表作者可以将报表发布到新建的文件夹中。
使用脚本发布报表
Reporting Services 包括一个用于发布报表的示例脚本 (.rss) 文件。此脚本使用 globalvars (–v) 参数创建您指定为命令提示变量的文件夹,然后将 Reporting Services 附带的示例报表发布到报表服务器。
您可以结合使用脚本文件和 Reporting Services 的 Web 服务 API,来访问报表服务器上可用的大多数管理操作。有关脚本的详细信息,请参见“脚本”。
在运行这个示例脚本之前,请先确定是否满足了下列条件:
|
必须先使用 Reporting Services 安装程序或另外的示例安装程序,先将示例报表和脚本文件安装到硬盘驱动器上。安装程序不会自动安装示例报表。
|
|
在安装报表服务器实例的计算机上,您必须具有运行 rs 实用程序的权限。
|
|
对于要使用脚本访问的报表服务器,您必须具有访问权限。
|
|
对于要访问的报表服务器的根文件夹,您必须具有“创建文件夹”和“创建报表”的权限。
|
Reporting Services 示例是在安装过程中安装的。将示例安装到默认的安装目录时,脚本示例位于 <Reporting Services 应用程序路径>\Samples\Scripts 中。
要运行 PublishSampleReports.rss 示例脚本:
1.
|
打开命令提示符窗口。从开始菜单,单击运行,在文本框中键入 cmd,然后单击确定。
|
2.
|
导航至包含示例脚本的目录。例如,如果示例脚本安装在默认目录中,则在命令提示符中输入:
|
cd C:\Program Files\Microsoft SQL Server\Reporting
Services\Samples\Scripts
在命令提示符后输入下列字符,会看到 rs 实用程序可以使用的命令提示符选项列表:
rs -?
使用测试服务器
在将报表发布到生产报表服务器之前,最好先对报表进行一下测试。如果希望在报表测试和开发程序中,包含各种不同的用户,则使用开发报表服务器将会很有用处。在您进行微调时,用户可以访问测试服务器查看报表并与报表互动。
查看报表
在打开要查看的报表时,服务器会根据报表设计运行报表 (按要求执行,On-demand) 或者提供服务器先前所生成的静态报表副本。
Report Server 包括“HTML 查看器”用户界面组件,此组件用来显示要从报表服务器中查看的、以 HTML 格式转换的报表。
在交付报表前,有两种查看报表的方法:
Report Manager
|
请使用 Report Manager URL 打开应用程序,搜索并导航至要查看的报表。
|
报表 URL
|
键入报表在 Report Server 上的 URL 地址。URL 包括 Web 服务器的名称、Report Server 及报表的完整名称。从自定义应用程序访问报表时,请使用此选项。
有关 URL 的信息和语法,请参见下面的“URL 定位能力”。
|
URL 定位能力
如果安装过程中使用了默认的虚拟目录,则 Report Manager 和 Report Server 的 URL 将会如下所示:
Report Manager
|
http://servername/Reports
|
Report Server
|
http://servername/ReportServer
|
要通过 URL 直接访问报表,需要使用报表在 Report Server 上的完整 URL。例如:
http://servername/ReportServer/FolderContainingReport/reportname
联机图书的 "Report Server URL Access" 主题中,描述了 URL 访问的完整语法。
了解报表处理
本节概述了一般报表的处理过程,此信息在设计报表以达到最佳性能时十分有用。
报表处理会用到发布的报表定义,其中包括查询、布局信息和代码或表达式。
报表和数据处理共同创建将布局信息作为中间报表格式的数据集。您可以将这种中间格式 (IF) 保存起来以供快速检索或是定向至转换扩展功能,以便将其处理成为最终报表。
图 5:报表处理图
处理完成之后,报表将被编译成公共语言运行时程序集,并在报表服务器上运行。
“中间格式”存储在 Report Server 高速缓存 (用于高速缓存的报表) 中,它还将使用下列两种方式中的一种,写回 Report Server 数据库:
|
对于快照报表,会将 IF 写入 Report Server 数据库中,然后输入到快照表格中。
|
|
对于其他报表,会将 IF 写入 tempdb 中。它在此处作为高速缓存的报表副本,可在多个 Report Server 之间共享。
|
有关高速缓存的详细信息,请参见本文后面的“运行高速缓存的报表”。
了解会话状态
当用户请求报表时,Report Server 可能会从以下四个位置中的一个位置提供会话请求服务:
内存中的高速缓存
|
如果报表会话的“中间格式”(IF) 仍然位于 Report Server 的内存高速缓存中。
|
ReportServerTempDB
|
如果 IF 已经从高速缓存中交换出来,但是报表已先行执行
|
Report Server 数据库快照表
|
如果 IF 已经从高速缓存中交换出来,但是报表是已先行执行的快照报表
|
源数据库
|
如果报表/快照从未创建过,或是已失效 (会话超时或者是用户按下了 Report Server 刷新按钮)
|
可以使用 Report Server 的系统属性将会话状态的到期时间设置为针对整个服务器范围。默认值为 10 分钟。当会话尝试访问已超出会话状态设置的报表时,报表会再次访问源数据库,检索刷新后的数据映像。
RS 具有高速缓存管理机制,可以为会话管理保存在内存中的 IF 数据。当报表要检索的数据非常庞大时,便可以分块检索源数据库中的数据。
在设计报表时,有三个因素会影响对过滤器、排序、归组等等的处理方式。例如,如果报表中使用过滤器,就可能会从源数据库检索出超过所需数量的数据。这将导致在存储 IF 数据时虚耗空间。相反地,如果在查询的基础上过滤数据 (在 SELECT 陈述式上使用 WHERE 子句),要在交互式报告中导航的用户可能需要多次往返于源数据库。
报表设计人员必须了解会话状态,以便充份利用内存,并对应该何时从源数据库刷新 IF 做出明智的决策。
报表的用户环境
对于某些报表,您可能会想要利用用户环境来确定报表所要包含的信息。例如,可能会创建一个可依用户需求创建的标准销售人员业绩报表。访问报表的用户只能看到自己有权访问的信息,例如他们自己的业绩,或是他们所管理的个人的业绩。
报表作者可以采用几种方法来限制用户在报表中所能看到的数据:
|
使用数据库级别的安全性,控制用户可查看内容的访问权限。将报表对数据源的访问权限设置为运行报表人员的安全凭证。
|
|
将包含用户信息的查询参数传递给报告;然后报告便可以在查询中应用过滤器。
|
|
在报表内部创建基于用户的过滤器。使用这种方法,虽然查询会传回所有的信息,但是只有那些与运行报表用户相关的信息,才会包含到他们的报表版本中。
|
在决定要使用何种方法时,应该考虑方法对高速缓存的影响,以及对报表处理效率的影响。例如,使用查询参数这种方法时,每当有不同用户请求相同的报表时,都会对源数据库执行一次查询。如果使用以基于报表的过滤器,则只要对源数据库执行一次查询,便可传回所有的数据。
报表转换
Report Server 可以使用转换扩展功能将数据和布局信息转换为设备特定格式。开发人员可以创建额外的转换扩展功能支持其他的格式。
本产品支持下面描述的多种转换扩展功能。您还可以创建其他格式的转换扩展功能。
HTML 转换
当您使用 URL 或 Report Manager 直接从 Report Server 请求报表时,Report Server 会默认使用 HTML 转换扩展功能。
HTML 转换扩展功能会根据您的浏览器创建 HTML 4.0 或 HTML 3.2 文件。支持 HTML 4.0 的浏览器有:
|
适用于 Windows 的 Microsoft® Internet Explorer 5、5.5 和 6 版。
|
|
适用于 Macintosh 的 Internet Explorer 5 和 5.1 版。
|
|
适用于 Windows 的 Netscape Navigator 6.2 版。
|
HTML 3.2 则会被传递给所有支持 HTML 的其他浏览器。这些浏览器包括上述浏览器的早期版本以及适用于 Pocket PC 的 Internet Explorer。
HTML 转换扩展功能支持 Microsoft ActiveX® 控件,这些控件可以为支持 ActiveX 的浏览器提供交互功能。Office Web 组件是一种特殊类型的 ActiveX 控件,可以提供交互式图表和 Microsoft PivotTable® 控件。
其他的转换扩展功能
下表中描述了 Reporting Services 包含的其他转换扩展功能:
HTML 与 Office Web 组件共同使用
|
与具有增强功能的 HTML 4.0 转换程序一样,使用 Office Web 组件 (OWC) 来提供额外的客户端交互功能。图表使用客户端图表控件来转换,而矩阵则使用 PivotTable 控件来转换。
|
MHTML
|
支持“集合 HTML 文档”标准的 MIME 封装,可以将资源 (例如图像、文档或其他二进制文件) 内嵌为报表内的 MIME 结构。如果客户端无权访问存储在报表服务器或其他位置的资源,这种格式将非常有用。
|
Excel
|
在 Excel 工作簿中创建报表的可视化表示,并尽可能转换 Excel 公式。用户可以调节报表,以添加公式和数据并重新打印。
|
XML
|
创建包含报表信息的 XML 文档。所生成 XML 文档的结构描述由报表的内容和布局决定。用户还可以通过修改报表定义中的元素,来影响结构描述。
|
CSV
|
创建不带任何格式的逗号分隔符纯文本文件。然后用户就可以使用电子表格或任何可读取文本文件的应用程序打开这些文件。
|
图像
|
将报表转换成位图或图元文件,包括 GDI+ 支持的任何格式: BMP、EMF、GIF、JPEG、PNG、RIFF 和 WMF。在默认情况下,图像会转换为 TIFF 格式,可以使用图像查看器来显示这些图像。
图像转换可确保报表的外观在所有的客户端上都能表现一致。转换发生在服务器上,因此服务器上必须安装有报表中使用的所有字体。
|
PDF
|
创建可以使用 Adobe Acrobat 打开和查看的报表。
|
转换为图像、PDF 文件或逗号分隔符的报表不支持交互式组件。
报表订阅和交付
所有订阅都使用交付扩展功能来确定报表的交付方式。默认的交付扩展功能是电子邮件扩展功能。您可以使用开放式接口,定义自己的交付扩展功能,联机图书中的 Reporting Services Programming 主题对此进行了描述。
报表日程和交付要使用 SQL Server Agent 进行处理。
订阅
订阅包含下列组件:
|
可以自行运行的报表 (使用存储的凭证)
|
|
交付方法 (例如电子邮件) 和交付设置
|
|
处理报表的事件条件 (预先计划的事件或报表数据的更新)。
|
|
运行报表的参数 (可选,用于参数化报表)。
|
对报表数据进行更新或日程可以触发订阅。
快照更新
|
每当使用新数据更新报表时触发订阅。 (不适用于只按要求运行的报表。)对于这些报表,报表处理和订阅处理同时发生。
|
日程
|
订阅在预定的日程时间运行。对于只按要求运行的报表,日程是唯一的订阅选项。对于以快照方式运行的报表或从高速缓存运行的报表,报表处理可能会与订阅处理分开发生。
|
可以为每个报表自定义日程,或是使用共享日程来触发多个事件。
通过订阅交付的报表会作为快照 (也就是包含生成快照时所捕获数据的存储报表) 来交付。
如果报表以快照方式运行,将不会创建额外的快照副本。如果报表按要求运行,报表服务器将创建一个临时快照,以用于交付报表。在交付发生之后,快照将被丢弃。
如果报表通过数据驱动订阅方式交付,则必须使用以快照方式运行的报表,确保将相同的快照实例交付给所有的收件人。
在默认情况下,为订阅生成的快照不会存储在报表历史记录中;您需要为其存储专门设置一个选项才能达成目的。
个人订阅
用户可以创建自己的个性化订阅,除非管理员禁用了用户级别的订阅创建和管理。个人订阅可包括参数化报表 (例如只查看西部地区的销售业绩) 的特定参数,以及转换和交付的参数设定。
要使用 Report Manager 创建或编辑订阅:
Report Manager 包括 "My Subscriptions" 功能 (位于 Report Manager 菜单栏中),可帮助用户轻松地查找订阅。可使用这个功能来查找及修改现有订阅。用户还可以删除不再需要的订阅。
数据驱动的订阅
数据驱动的订阅会将报表交付到在运行时确定的收件人列表中。您可以使用数据驱动的订阅,将报表交付到定期更改的收件人列表,例如大型企业的员工或订阅者。
必须使用存储的凭证或无凭证生成数据驱动的报表订阅。
要创建数据驱动的订阅,您必须识别出用于获取收件人信息的外部数据源。数据源引用包括连接信息,以及用于检索订阅信息的查询字符串。
查询应当交付一个数据行集,其中每个数据行代表一个收件人。例如,如果您正使用电子邮件交付扩展功能,则每个数据行都应包括一个收件人的电子邮件别名。您还可以利用数据源中的其他值,将其作为接受参数报表的参数。员工数据库可能包括可用于过滤报表数据的职衔和办公室位置信息。
最后,您可以在数据源中添加与报表相关的参数设定,这些设定值随后会合并到订阅中。例如,您可以为每个用户存储一些特定值,这些值能够反映用户转换的参数设定,以及报表是以链接形式交付还是以电子邮件附件形式交付。
要使用更多的值,可以创建一个查询,用这个查询返回包含这些值的数据行集合。
交付扩展功能
Report Server 有两个内置的交付扩展功能: 电子邮件和文件共享。
电子邮件交付
电子邮件交付扩展功能是在安装过程中配置的;您可以在安装后查看或编辑这些配置文件。电子邮件扩展功能一次交付一份报表;您无法创建可以在单一电子邮件消息中交付不同报表的订阅。
电子邮件扩展功能与指定电子邮件服务器连接时使用的是标准连接。电子邮件服务器必须与 Report Server 在相同的网络上,可以是远程或本地 Microsoft Windows Simple Mail Transport Protocol (SMTP) 服务器。
交付选项在订阅中指定。电子邮件交付选项包括:
通知
|
使用电子邮件消息发送通知。
|
通知 + URL
|
发送生成报表的通知和指向所生成报表的链接。
|
通知 + 报表
|
发送通知并在其中内嵌或附加报表。具体是内嵌报表还是附加报表,由转换格式决定。
如果您选择 Web 档案转换格式,会将报表作为消息的一部分进行封装。所有其他的转换格式 (CSV、PDF 等等) 都会将报表作为附件来交付。您可以在配置文件中禁用附件和内嵌。
|
文件共享交付
文件共享交付扩展功允许将报表保存在 UNC 文件共享上。文件共享交付扩展功能会按照 Report Server 的指定,安装在扩展 功能的默认位置中。
文件共享交付选项包括:
路径
|
UNC 文件共享上的现有文件夹。如果目标文件夹不存在,交付扩展功能将会返回错误。
|
文件名
|
在默认情况下,将使用报表名称和所用的转换格式来生成用于保存报表的文件名。用户可以在“文件名”交付扩展功能设置中指定一个文件名来覆盖默认的文件名。
|
转换格式
|
允许用户指定转换报表所用的格式 (CSV、PDF 等等)。可用转换扩展功能列表是安装在报表服务器上的整个扩展功能列表。
|
凭证
|
用于验证 UNC 文件共享的凭证。
|
写入模式
|
指出文件共享交付扩展功能在目标文件夹中,遇到与文件名设置中所指定名称相同的文件时,会有何种行为。
|
安全性
Reporting Services 使用基于角色的安全模型,提供简单但具有高度灵活性的安全性。您可以选择在默认的安全性模型下工作,也可以修改该模型,以满足特定的企业需求。
请注意,Reporting Services 不提供自身验证,它依赖于 IIS 的验证。
在联机图书的 "Securing Reporting Services" 主题中,详细讨论了 Reporting Services 安全模型。
Report Server 安全模型
Report Server 使用角色、权限和受保护对象的概念,来创建灵活可管理的安全模型。
角色定义是由一组权限构成的权限组,通常需要一起使用这些权限才能够完成特定的用户任务 (例如发布报表)。角色分配会将特定角色映射到用户或组以及受保护对象(例如文件夹或报表)。
下列对象是 Report Server 中的受保护对象:
文件夹
|
文件夹安全性会应用到文件夹内所有的项目中 (报表、资源、数据源引用以及其他文件夹)。Home 文件夹是文件夹层次的根节点。
My Reports 是特殊的文件夹,通过隐含的角色分配来保护其安全性。
|
报表
|
报表的特定安全性设置用于控制用户可以执行的访问权限和范围。报表历史记录通过报表来保护其安全。
|
资源
|
资源包括其他的项目,例如报表使用的文档或图形。只有独立的资源 (不是报表的一部份) 可以分开保护。否则,资源便会随其所在的报表一起保护。
|
数据源引用
|
您可以控制哪些用户有权更改数据源引用设置。
|
系统
|
系统是外层对象,代表报表服务器数据库和站点。
|
大部份的受保护项目都是从文件夹层次内部来保护的。 (系统是个例外。)所有项目都要保护。
使用默认安全性
开始安装时,Report Server 将提供默认角色,以及默认角色分配的最小集合。系统管理员需要运行的第一个任务,就是定义适用于其组织的安全模型。
默认的角色分配会保护文件夹层次上的系统对象和 Home 文件夹。当您在 Home 文件夹内创建新文件夹时,它们会继承此默认设置。
系统
|
管理员
|
系统管理员
|
以 Home 文件夹 (根节点) 为起点的文件夹层次
|
管理员
|
内容管理员
|
您可以通过将特定用户添加至特定角色,或通过使用其他角色,来扩展这个基本的安全模型。Report Server 使用以下默认角色:
浏览者
|
运行报表并在文件夹结构间导航
|
内容管理员
|
定义用于存储报表和其他项目的文件夹结构、设置项目级别的安全性,以及查看和管理服务器储存的项目
|
发布者
|
向报表服务器发布内容
|
我的报表
|
构建供个人使用的报表或将报表存储到用户文件夹中
|
系统管理员
|
启用功能和设置默认值、设置整个站点的安全性、定义角色创建定义并管理作业
|
系统用户
|
查看共享日程中的日程信息,或查看与报表服务器有关的其他基本信息
|
建议您使用这些默认角色作为起点,制作出更为详尽的安全模型。
下面将详细地介绍“系统管理员”和“内容管理员”这两种角色。
报表管理角色
基本上,所有的管理任务都可以由两种预定义角色执行: “系统管理员”(报表服务器管理员) 和“内容管理员”。在默认情况下,系统将自动为本地系统管理员用户分配这两种角色。具有这两种角色的用户又可以向其他用户分配这两种角色中的任一种角色,以委托管理职责。
查看及取消作业
|
创建链接报表
|
管理报表服务器属性 (启用 "My Reports"、设置报表历史记录默认值等等)
|
管理所有订阅
|
管理角色
|
管理数据源
|
管理共享日程
|
管理文件夹
|
管理报表服务器安全性
|
管理报表历史记录
|
|
管理报表
|
|
管理资源
|
|
设置项目的安全性策略
|
|
查看数据源、报表、资源和文件夹
|
虽然同一个人可以执行这两种角色,但是在较大的企业中,会将这些角色交由多人担任。
配置 Reporting Services 中的应用程序安全性
Report Manager 使您可以使用基于角色的安全模型配置应用程序安全性。
基于角色的安全性与环境有关。您需要导航至特定环境 (例如文件夹或报表),才能确定和修改作用于该资源的安全性。
要修改默认的安全性覆盖范围:
1.
|
导航至您想要进行保护的内容或项目。 (这样会对资源进行标识)
|
2.
|
选择要进行角色分配的用户/组。
|
3.
|
选择用于角色分配的角色。
|
要更新项目的角色分配,您自己的角色分配必须包括该项目的“设置安全性”任务。
角色定义可以包含项目级别或系统级别的任务,但只能包含其中一种。
为报表或项目添加用户/组角色分配
|
导航至项目。
选择安全性属性页面。
选择新建角色分配页面。
|
修改项目的用户/组角色分配
|
导航至项目。
选择安全性属性页面。
选择编辑角色分配页面。
|
更改系统级别的安全性
|
选择站点设置页面。
选择新建系统角色分配来添加新的设置。或
选择编辑系统角色分配来修改角色分配。
|
创建或修改用于描述对特定类别用户的访问权限的项目级别角色定义。
|
选择站点设置页面。
选择新建角色来添加新的角色。
选择编辑角色来编辑现有角色。
|
创建或修改系统级别的角色定义
|
选择站点设置页面。
选择新建系统角色来添加新的角色。
选择编辑系统角色来编辑现有角色。
|
在创建或修改角色定义之前一定要考虑周全。
|
角色太多可能会导致难以管理和维护。
|
|
如果您不清楚角色的使用场合以及更改角色对用户造成的影响,则在更改角色时一定要谨慎处理。
|
有关安全模型的详细讨论,请参见联机图书的 Securing Reporting Services 主题。
保护全局访问报表的安全
在外部网络或 Internet 网络连接中与用户共享报表时,有两种基本的安全保护方法。
|
将 Web 服务器安全性配置为支持“基本验证”,然后使用基于窗体的安全性解决方案对其进行补充。可以考虑专门为此方法指定一台报表服务器。该报表服务器会始终优先选择 Windows 验证 (NTLM) 而非基本验证,即使主机 Web 服务器同时使用两种验证方式。
|
|
使用 Microsoft Active Directory 来存储用户凭证,并对所有需要访问报表服务器的用户进行验证,即使这些用户不是员工,或没有您的内部网络资源的访问权限,也是如此。您可以对此方法使用“Windows 验证”。如果想使用 Microsoft Passport 来验证用户,则加载报表服务器的 Web 服务器必须运行 Windows 2003 Server。
|
管理报表
本节讨论了一般的报表管理任务。Reporting Services 管理员负责系统级别的管理和项目级别 (命名空间) 的管理。
您必须具有适当的角色分配,才能执行下列报表管理任务。
所有的报表元数据均存储在报表服务器数据库中。其中包括报表名称、描述、数据源连接信息、凭证信息、参数和执行属性。本节说明了如何使用 Report Manager 来访问和管理这些信息。
使用 Report Manager 管理报表
Reporting Services 管理员负责系统级别的管理和项目级别 (命名空间) 的管理。您必须具有适当的角色分配,才能执行下列报表管理任务。 有关详细信息,请参见本文后面的“报表管理角色”。
所有报表元数据都存储在 ReportServer 数据库中。其中包括报表名称、描述、数据源连接信息、凭证信息、参数和执行属性。本节说明了如何使用 Report Manager 来访问和管理这些信息。
使用 Report Manager 管理报表
在 Report Server 上发布报表后,便可以使用 Report Manager 来执行许多管理功能,其中包括:
|
编辑或替换报表定义。
|
|
创建链接报表。
|
|
删除或移动报表。
|
|
查看或修改参数化报表的值。
|
|
更改数据源引用属性。
|
|
修改运行时的执行属性。
|
|
更改报表的安全性设置。
|
(您必须具有与“内容管理员”或“系统管理员”等价的角色授权,才能执行上述的大多数功能)
要查看或更新已发布报表的这些设置,可导航至报表,并使用下列“报表属性”页面中的某个页面。
一般属性页面 (报表)
|
查看或修改当前报表的一般属性、编辑或替换基本的报表定义、创建链接报表以及删除或移动报表。
|
参数属性页面
|
查看或修改已发布的参数化报表值。
|
数据源属性页面
|
查看或修改提供当前报表内容的数据源的属性。
|
执行属性页面
|
查看或修改当前报表的运行时执行属性。
|
安全性属性页面 (项目)
|
查看或修改报表的安全性设置。
|
有关上述各项操作的详细说明,请参见联机图书的 Managing and Securing Report Server Content 主题。
添加、修改及删除报表
Report Server 管理员可以使用 Report Manager 通过下列方式添加报表:
|
从现有报表创建链接报表。
|
|
从文件系统上传报表定义文件。
|
|
打开现有报表,将报表定义保存到文件系统中,然后以不同的项目上传到 ReportServer 数据库。
|
要将文件上传到报表服务器上的文件夹,您必须具有管理该文件夹报表的权限。
Reporting Services 包括许多示例报表。要上传示例报表,请执行以下步骤:
1.
|
运行 Report Manager。在默认情况下,URL 为 http://servername/reports。
|
2.
|
导航至要上传报表的文件夹。
|
3.
|
单击上传文件,然后导航至包含示例报表的文件夹。
|
4.
|
单击文件以上传,然后单击打开。
|
5.
|
单击确定打开文件。
|
6.
|
对其余的示例报表重复上述步骤。
|
从 Microsoft Access 导入报表
您可以使用 Report Designer 从 Access 数据库 (.mdb) 或工程 (.adp) 文件导入报表。Report Designer 会将数据库或工程文件内的每个报表转换为 RDL,然后保存到指定的报表工程内。
请注意:一定要安装 Access 2002 或更高版本,才能使用导入功能。
在使用导入功能时,将导入数据库或工程文件中的所有报表。如果 Access 文件包含许多报表,您可能想另外创建一个报表工程以导入报表,然后在主要的报表工程中打开个别的 RDL 档案。在将报表导入 Report Designer 之后,您可能需要编辑报表。
有关详细说明,请参见联机图书的 "Importing Reports from Access" 主题。
管理数据源引用
数据源引用在 Reporting Services 中有两个角色:
数据源引用是属性和元数据的命名集合,用于描述与外部数据源的连接。
数据源引用可以是报表特定的数据源引用,也可以是共享数据源引用。
报表特定的数据源引用
|
描述与数据源的连接,该连接与报表之间存在一一对应的关系。
|
共享的数据源引用
|
说明与数据源的连接,该连接定义与任何报表都无关。可以在多个报表和订阅间使用共享参考。
|
如果要对数据源进行更改,例如重命名数据库或更改登录,则使用共享数据源引用会比较容易管理。
由于管理共享数据源引用时是将其视为与报表分开的实体,因此在对其进行保护时也要与参考它们的报表分开进行。下列角色分配与共享数据源引用有关:
浏览者角色
|
查看使用共享资源的报表列表。如果用户有权访问报表,则可以查看报表。
|
内容管理员角色
|
查看和设置数据源引用的属性。
|
管理数据源凭证
您可以通过下列方法为报表服务器提供凭证。
提示用户提供凭证
|
只支持按需要执行的报表。
如果数据安全性很重要,或是您想要利用数据库服务器的安全性功能时,请使用这种方法根据用户登录来控制报表访问。
Reporting Services 包括 Microsoft Windows 的安全性扩展功能。默认的安全性扩展功能需要“Windows 验证”凭证。
|
访问正运行报表的用户的 Windows 凭证
|
报表服务器会将访问报表的用户的凭证传递到加载外部数据源的服务器。系统不会提示用户键入用户名或密码。
|
使用存储的凭证
|
存储用于检索每个报表运行者数据的凭证。
存储的凭证可以是 Windows 凭证或数据库凭证。
|
不需要凭证
|
对于某些在父报表的安全环境下运行的子报表,可以忽略凭证。
|
在许多情况中,让用户在运行报表时指定凭证可以提供灵活适当的安全性,这样做当然比较容易管理和维护。但是对大多数报表来说,您还是会希望将凭证嵌入到 ReportServer 数据库元数据中以用于连接。
如果有一些报表要使用相同的内嵌凭证访问相同的数据源,则可以考虑为这些报表创建共享数据源。以这种方式进行管理,只需要一组内嵌凭证在这些报表间进行跟踪和访问。
您可以使用一般凭证,为每个报表运行者检索相同的数据,或者可以使用用户特定的凭证,根据给定的用户权限来变更报表输出。用户凭证在选择数据的查询中进行传递。
Report Manager 在使用应用程序的用户环境下运行,因此,虽然报表服务器使用一组静态的凭证连接到 ReportServer 数据库,但是用户在 Report Manager 用户界面中可以看到的内容以及可以访问的内容仍然要取决于用户凭证。
管理报表执行和处理
报表执行属性用于控制报表的处理方式。请分别为每个报表设置这些属性。
正如“了解报表处理”中所讨论的,报表和数据处理共同创建将布局信息作为中间报表格式的数据集。您可以将这种中间格式 (IF) 保存起来以供快速检索,或是定向至转换扩展功能,以便处理成为最终报表。
处理完成之后,报表将被编译成公共语言运行时程序集,并在报表服务器上运行。
如果报表被设计为以快照方式运行,将不会为订阅创建额外的副本。如果报表是按要求运行,Report Server 将创建临时快照,以交付报表。在交付发生之后,临时快照将被丢弃。
通过数据驱动订阅来交付的报表必须以快照方式运行,才能确保将相同的快照实例交付给所有的收件人。
报表执行选项
报表可以通过两种方法运行:
自动运行
|
报表会在报表日程定义的时间点运行。自动执行的报表会存储在 ReportServer 数据库中。
|
按需执行
|
当您导航至报表并打开报表时,报表就会运行。这通常包含最新的数据,不过系统管理员可以设置选项,将服务器定向至从磁盘高速缓存中检索先前生成的报表。
|
按需执行的报表含有最新的数据。且会为每个打开报表的用户创建报表的新实例,新实例会将新查询发送到数据源。如果许多用户都请求同一个按要求执行的报表,他们的请求生成许多个对数据源的查询。
按要求执行的报表也可以从报表的中间格式运行 - 可以是报表的高速缓存版本,也可以是快照版本。下面对这些选项进行了描述。
高速缓存的报表
为了提高性能,您可以暂时高速缓存报表及其数据。高速缓存的实例以报表的中间格式 (IF) 为基础。其他访问相同报表的用户可以使用高速缓存的副本。如果有十位用户打开了报表,第一位用户会生成报表,而其余的九位用户则可以从高速缓存中检索报表。如果重新启动服务器,当 ReportServer 服务重新联机时,就会恢复所有高速缓存的实例。
可以使用报表的执行属性页面启用高速缓存。
对于大型报表和访问频率高的报表,使用高速缓存可以缩短检索时间。对于那些提示用户输入凭证或使用“Windows 验证”的报表,无法进行高速缓存。
您可以指定从高速缓存移除报表的时间间隔 (单位为分钟),也可以日程清空高速缓存的日期和时间。修改报表定义、修改参数、更改数据源凭证或是更改报表执行选项也会使高速缓存过期。
除了将中间格式副本存储在内存的高速缓存中外,Report Server 还可以使用 Report Manager 数据库的 TempDB 来保留高速缓存报表驻留在数据库中的副本。这种方法可以让多个 Report Server 访问同一个高速缓存的报表。
报表的高速缓存实例以报表的中间格式为基础。如果报表已运行过多次,但每次传递的查询参数不同,报表服务器可以高速缓存多个具有相同名称的报表实例。如果用户使用新的查询参数组运行报表,则必须重新运行报表,因为高速缓存中没有与之匹配的版本。
高速缓存是一项提高性能的技术。高速缓存的内容是临时性的,可以在添加、替换或移除报表时进行更改。如果您需要一个更易预测的高速缓存策略,则应该创建快照 (如下所述)。
要使用 Report Manager 来查看上次运行报表的时间:
1.
|
定位包含报表的文件夹
|
2.
|
在详细视图中设置文件夹。
|
3.
|
记下运行时间列中的日期和时间。
|
除非使用 Web 服务 API,否则无法直接删除高速缓存。如果您使用 Report Manager 来设置高速缓存选项,则可以设置日程或指定高速缓存过期的时间段。当高速缓存报表过期时,系统便会从高速缓存中将其移除,以存储较新版本的报表。
从快照来运行报表
如果使用快照,报表处理会与用户请求报表时所发生的最终转换区分开来。转换会推迟到报表运行时进行,这样可以保留快照的可移植性,因此报表可以根据调用设备或浏览器的要求进行转换。和高速缓存的报表一样,快照也是使用中间格式来存储。
和高速缓存的报表一样,快照可提高对大型报表或访问频率高的报表的访问性能。例如,您可以将快照日程在非高峰时间发生。如果要为多位必须使用相同数据集的用户提供稳定的结果,使用报表运行快照将十分理想。使用临时数据,按要求执行的报表可以在一分钟内生成不同的结果。
需要大量数据的报表生成的快照要比不需要大量数据的报表生成的快照大。您可能想限制保留的快照数目,以限制保留快照所带来的空间损耗。
请使用报表的执行属性页面,将报表定义为以快照运行。
刷新报表快照将替换旧版快照。若要保留快照的所有副本,请将“报告历史记录”属性设置为将报表执行快照复制到报表历史记录中。
管理日程
日程可以用于触发报表数据的更新,以及在报表服务器中存储快照。 可以为每个报表自定义日程。 也可以使用单一日程来运行多个报表。
Reporting Services 日程引擎使用在安装过程中指定的 SQL Server 实例的 SQL Server Agent,来处理日程和交付队列。SQL Server Agent 运行时所基于的凭证是在安装过程中提供的。
要更改 Reporting Services 所使用的 SQL Server 实例,需要再次运行安装程序。请不要手动更新配置文件。
日程处理基于执行日程的报表服务器的本地时间,并遵循 Windows 标准的时间格式。
Reporting Services 支持两种日程: 报表特定的日程和共享日程。
共享日程
|
多个报表之间共享的公共日程。这些日程可以集中管理、暂停和恢复。
|
特定于报表的日程
|
设定单个报表的日程。当您创建订阅或设置报表执行属性时,便会创建这些日程。如果共享日程不能提供所需频率和周期,便可使用报表特定的日程。报表特定的日程无法集中管理。
|
请使用 Report Manager 中的“共享日程”页面管理共享日程。
您可以使用 Report Manager 中的共享日程页面,来暂停和恢复共享日程。暂停共享日程提供了一种方法,可暂时冻结用于触发报表处理和订阅的日程。
您不能暂停和恢复进行中的报表处理。 而只能暂停和恢复 SQL Agent 日程队列中的日程。 (您可以监视及刪除正在运行的作业。有关详细信息,请见 Reporting Services 附带联机图书中的“Job Management in Reporting Services”主题。)如果没有运行 SQL Server Agent 未在运行中,将不会处理日程。
当共享日程暂停时,与该日程相关的所有报表处理都会推迟到日程恢复为止。 日程恢复后,报表处理便会在下个日程时间发生。 而任何未执行的报表都会被跳过。
管理报表历史记录
Reporting Services 可以保存先前运行的报表副本,以长期维护报表历史记录。报表历史记录是报表本身的一个属性。
报表历史记录由一系列的快照组成,这些快照代表在特定时间点数据源对报表进行的处理。
报表历史记录随时可用。要关闭报表历史记录,请从所有角色定义中移除管理报表历史记录任务。
管理员可以确定如何创建报表历史记录,以及控制为每个报表存储的快照数目。
要设置服务器范围内的历史记录属性
|
使用站点设置页面。这将设置所有报表的默认值。
|
要设置报表特定的历史记录属性
|
导航至报表。
使用历史记录属性页面。
|
您可以调整下列报表历史记录属性:
历史记录限制
|
存储在报表历史记录中的最大快照数目。当快照数目达到最大数目后,便会删除最旧的快照。
|
历史记录自动生成
|
允许手动生成报表历史记录的快照。在历史记录中存储所有的自动 (已日程的) 快照。
|
快照存储会消耗数据库存储空间。快照会保存创建报表所需要的所有数据。对于数据密集的大型报表而言,快照本身也会很大。在报表历史记录中集合许多快照会增大整个 Report Server 的存储容量要求。
管理订阅和交付
管理订阅需要支持下列其中一项任务的角色:
管理个人订阅
|
创建、修改及删除特定用户和报表的订阅。
|
管理所有订阅
|
访问及修改所有订阅。
创建数据驱动的订阅。
|
要管理服务器范围内的订阅,您必须是“内容管理员”角色成员或者所分配的角色支持管理所有订阅任务。
Reporting Services 会使用集中式作业日程/处理功能,这是安装过程中指定的 SQL Server 实例的 SQL Server Agent 处理。如果没有运行 SQL Server Agent,将不会交付报表。
集中式日程和交付对于支持分布式报表阵列架构非常重要。
管理 Reporting Services
您可以将系统工具、Microsoft® SQL Server™ 的可用服务器管理工具,以及 Microsoft SQL Server 2000 Reporting Services 中包括的 Web 的管理功能结合起来,共同管理 Report Server 和 Report Server 数据库。
本节包含了有关 Report Server 和 Report Server 数据库管理的主题。
备份和还原
Report Server 中存储了所有的报表元数据信息、报表定义、快照和历史记录。如何规划备份要视更改的频率、数据库的大小以及还原所需的速度而定。
在执行重大的管理更改 (如发布报表、更改文件夹及更改安全性设置) 之后,可能应当备份 ReportServer 数据库。
对 Reporting Services 的每日使用会生成数据库活动,例如创建快照。请实施一个定期日程的备份方案,以保护这些更改。
有关备份方案及备份过程的详细信息,请参见 SQL Server 联机图书的“备份和还原数据库”主题。
脚本
开发人员和 Report Server 可以使用 RS 实用程序 (RS.exe),在报表服务器上执行操作。使用这个实用程序,您可以程序化管理使用 Visual Basic .NET 脚本的报表服务器。
脚本可以运行任何 Reporting Services 的 Web 服务操作。可以使用脚本将安全性复制到服务器上的多个报表、添加和删除项目、将报表服务器项目从一台服务器复制到另一台服务器,自动执行重复性任务。
例如,您可能会使用脚本执行下列操作:
|
将报表和设置从一台服务器复制到另一台服务器。 这对于配置多台服务器十分有用。
|
|
将报表的安全性设置复制到报表服务器上的多个报表。
|
Reporting Services 脚本是一个定义 Reporting Services API 的 Visual Basic .NET 代码文件,是针对构建在 Web Service Description Language (WSDL) 上的代理编写的。脚本文件以 Unicode 或 UTF-8 文本文件的格式存储,其扩展名为 .rss。
有关创建脚本以处理或管理 Reporting Services 的详细信息,请参见联机图书的 "Scripting with the rs Utility and the Web Service" 主题。
Reporting Services 脚本文件是使用 Reporting Services 脚本环境 (Rs.exe)和命令提示符运行的。Rs.exe 具有许多命令提示符参数可供使用。有关命令提示符选项的详细信息,请参见联机图书的 "rs Utility" 主题。
有关创建脚本以处理或管理 Reporting Services 的详细信息,请参见联机图书的 Scripting with RS.exe 和 Web 服务主题。
服务配置
安装 Reporting Services 时,会在安装组件的机器上安装多个配置文件。在默认情况下,Reporting Services 安装在 %ProgramFiles%\Microsoft SQL Server 中。
\MSSQL\Reporting Services\ReportServer
|
RSReportServer.config
|
Report Server 的配置数据
|
\MSSQL\Reporting Services\ReportServer
|
\MSSQL\Reporting Services\ReportManager
|
Report Manager 的配置数据
|
\80\Tools\Report Designer
|
RSReportDesigner.config
|
Report Designer 的配置数据
|
配置文件含有 XML 元素和属性。在 Reporting Services 联机图书的 Administering Report Services 主题中描述了文件格式信息。
在对配置文件进行更改时,不需要重新启动 Report Server。 系统会动态选出这些更改。在 Web 阵列部署中,您可以在阵列间使用 Application Center 来保持配置文件与 DLL 的同步。
服务器疑难解答
本节包含基本的疑难解答信息。
开发人员可以从堆栈跟踪、日志文件以及错误和警告消息内容中获取疑难解答信息。
|
如果您是报表服务器的本地管理员,且服务器上正在运行 Internet Explorer,则可以在 Internet Explorer 的错误页面上单击鼠标右键,单击“查看源文件”,来获取特定错误的调用堆栈信息。
|
|
报表服务器返回的错误和警告信息包括在 Reporting Services API 参考主题的 "Return Value" 一节中。此外,您还可以查找与最可能发生的错误消息有关的说明主题。有关常见错误消息的最新列表,请参见联机图书的 "Troubleshooting Reporting Services" 主题。
|
|
跟踪日志文件每天都会被创建,从午夜 (本地时间) 后第一个发生的项目开始记录。 日志文件的文件名使用计算机的本地时间来命名。Reporting Services 组件不会从硬盘驱动器中删除跟踪日志文件。Report Manager 所生成的跟踪日志文件位于 C:\Program Files\Microsoft SQL Server\Reporting Services\LogFiles 目录中。
|
本文档中所包含的信息代表 Microsoft Corporation 截止到产品发布之日对这些问题所持的观点。由于 Microsoft 必须对不断变化的市场环境做出响应,因此本文不应理解为 Microsoft 的承诺,Microsoft 不保证文章信息在在发布之日后的正确性。
本文件仅供参考之用。MICROSOFT 对于本档中的各项信息,不提供任何明示或暗示的担保责任。
用户必须遵守所有适用的版权法律规定。即使没有版权限制,在未取得 Microsoft Corporation 书面许可的情况下,也不得任意复制本文件中的任何部份,将文件存放或导入检索系统,或者通过任何方式或手段 (电子、机械、影印、记录等等) 传输本文件。
本文档中可能涉及 Microsoft 的专利、专利应用程序、商标、版权或其他知识产权。本文件不会授予您这些专利、商标、版权或其他知识产权的许可,除非您已取得 Microsoft 公司明确的书面授权。
© 2003 Microsoft Corporation。保留所有权利。
本文中所提到的真实公司和产品名称,可能是其专属公司的商标。