管理报表服务器数据库
更新日期: 2007 年 9 月 15 日
Reporting Services 部署使用两个 SQL Server 关系数据库进行内部存储。 默认情况下,这两个数据库名称分别为 ReportServer 和 ReportServerTempdb。 ReportServerTempdb 随报表服务器主数据库一同创建,用于存储临时数据、会话信息和缓存的报表。
在 Reporting Services 中,数据库管理任务包括备份和还原报表服务器数据库,以及管理用于加密和解密敏感数据的加密密钥。
SQL Server 提供了许多工具,用于管理报表服务器数据库。
- 若要备份或还原报表服务器数据库,移动报表服务器数据库或者恢复报表服务器数据库,可以使用 SQL Server Management Studio、Transact-SQL 命令或数据库命令提示实用工具。 有关说明,请参阅 SQL Server 联机丛书中的将报表服务器数据库移至另一台计算机。
- 若要将现有数据库内容复制到另一个报表服务器数据库,可以附加报表服务器数据库的一个副本,并将其用于其他报表服务器实例。 或者,可以创建并运行一个使用 SOAP 调用的脚本在新的数据库中重新创建报表服务器。 可以使用 rs 实用工具来运行该脚本。
- 若要管理报表服务器与报表服务器数据库间的连接,以及查找用于特定报表服务器实例的数据库,可以使用 Reporting Services 配置工具中的“数据库安装”页。 若要了解有关报表服务器与报表服务器数据库的连接的详细信息,请参阅配置报表服务器数据库连接。
- 若要收集有关报表服务器性能和活动的度量信息,请参阅 SQL Server 联机丛书中的查询和报告报表执行日志数据。
SQL Server 登录名和数据库权限
报表服务器数据库由报表服务器在内部使用。 由报表服务器 Web 服务和报表服务器 Windows 服务建立到任一数据库的连接。
可使用 Reporting Services 配置工具来指定连接。 可以使用服务帐户的凭据、域用户帐户的凭据或 SQL Server 登录名。 为连接所选择的帐户必须拥有 SQL Server 登录名并且必须拥有用于报表服务器数据库的 Public 和 RSExecRole 角色。
当您使用 Reporting Services 配置工具在承载数据库的 SQL Server 实例中配置数据库连接、升级报表服务器数据库或运行等效脚本时,将自动为您创建登录名和权限。
RSExecRole 提供了用于访问数据库表和执行存储过程的权限。 RSExecRole 是在创建报表服务器数据库时在 master 和 msdb 数据库中创建的。 从 SQL Server 2005 Service Pack 1 开始,RSExecRole 将是报表服务器数据库的 db_owner 角色的成员。 其他权限允许报表服务器更新后续版本的架构,因此简化了升级过程。
删除 RSExecRole 中未使用的帐户
如果您将报表服务器 Web 服务或 Windows 服务配置为在其他帐户下运行,则会自动将新帐户添加到 RSExecRole。 但是,必须手动删除先前添加的和不再使用的任何帐户。 若要删除这些帐户,请使用 Management Studio 执行以下操作:
- 连接到承载报表服务器数据库的数据库引擎实例。
- 依次展开**“数据库”、ReportServer、“安全性”文件夹,再展开“角色”、“数据库角色”**,然后双击 RSExecRole。
- 选择不再使用的帐户。
- 单击**“删除”**。
报表服务器数据库的命名约定
创建主数据库时,数据库名称必须遵循为标识符指定的规则。 临时数据库名称始终与报表服务器主数据库的名称相同,但是带有 Tempdb 后缀。 您不能为临时数据库选择其他名称。
由于报表服务器数据库被视为内部组件,因此不支持对其进行重命名。 如果重命名报表服务器数据库,则会出现错误。 具体而言,如果重命名主数据库,则会显示一条错误消息,说明数据库名称不同步。 如果重命名 ReportServerTempdb 数据库,则稍后运行报表时将出现以下内部错误:
“报表服务器上出现内部错误。 有关详细信息,请参阅错误日志。 (rsInternalError)
对象名‘ReportServerTempDB.dbo.PersistedStream’无效。”
由于 ReportServerTempdb 名称是在内部存储的,并且由存储过程用来执行内部操作,所以会发生此错误。 重命名临时数据库将使存储过程无法正常工作。
关于数据库版本
在 Reporting Services 中,未提供有关数据库版本的显式信息。 但是,由于数据库版本始终与产品版本同步,因而可以使用产品版本信息来了解数据库版本的更改时间。 Reporting Services 的产品版本信息是通过出现在日志文件、所有 SOAP 调用的标题中的文件版本信息指示的;连接到报表服务器 URL(例如,打开浏览器浏览 https://localhost/reportserver)时也会指示 Reporting Services 的产品版本信息。
在报表服务器数据库上启用快照隔离
您不能在报表服务器数据库上启用快照隔离。 如果启用快照隔离,则会遇到以下错误:“所选报表尚未做好准备,无法查看。 报表仍处于呈现状态,或报表快照不可用”。
如果不是您有意启用了快照隔离,则该属性可能是由另一个应用程序设置的,或者可能是 model 数据库启用了快照隔离,结果导致所有新数据库都继承了该设置。
若要关闭报表服务器数据库上的快照隔离,请启动 Management Studio,打开一个新的查询窗口,然后粘贴并运行以下脚本:
ALTER DATABASE ReportServer
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServerTempdb
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServer
SET READ_COMMITTED_SNAPSHOT OFF
ALTER DATABASE ReportServerTempDb
SET READ_COMMITTED_SNAPSHOT OFF
请参阅
概念
创建报表服务器数据库
Reporting Services 安装的备份和还原操作
报表服务器数据库
管理 Reporting Services
报表服务器数据库要求
存储加密的报表服务器数据
管理加密密钥
其他资源
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2007 年 9 月 15 日 |
|
2006 年 12 月 12 日 |
|
2006 年 4 月 14 日 |
|