配置报表服务器数据库连接(报表服务器配置管理器)
适用于: SQL Server 2016 (13.x) Reporting Services 及更高版本 Power BI 报表服务器
有关与以前版本的 SQL Server Reporting Services (SSRS) 相关的内容,请参阅什么是 SQL Server Reporting Services?
本文介绍 SQL Server 报表服务器数据库连接及其工作原理的基本信息。 此信息包括如何配置连接以及配置期间要记住的注意事项。
每个报表服务器实例都需要连接到存储由服务器管理的报表、共享数据源、资源和元数据的报表服务器数据库。 如果安装默认配置,则可以在报表服务器安装过程中创建初始连接。 多数情况下,可以在安装程序完成之后使用 Reporting Services 配置工具配置连接。 可随时修改连接,以更改帐户类型或重置凭证。 有关如何创建数据库并配置连接的更多信息,请参阅创建本机模式报表服务器数据库(报表服务器配置管理器)。
何时配置报表服务器数据库连接
在下列情况下,应配置报表服务器数据库连接:
- 首次配置:首次使用报表服务器时。
- 数据库更改:需要报表服务器使用不同的报表服务器数据库时。
- 帐户更改:用于连接数据库的用户帐户或密码发生更改时。
注意
在
RSReportServer.config
文件中存储帐户信息时更新连接。 如果使用服务帐户(该帐户使用 Windows 集成安全性),则不会存储密码。 有关更改帐户的详细信息,请参阅配置报表服务器服务帐户(报表服务器配置管理器)。 - 扩展部署:如果配置扩展部署,请创建与报表服务器数据库的多个连接。 有关如何执行此多步操作的详细信息,请参阅配置本机模式报表服务器横向扩展部署(报表服务器配置管理器)。
Reporting Services 如何连接到数据库引擎
报表服务器对报表服务器数据库的访问取决于:
- 凭证和连接信息:为报告服务器数据库指定,仅供报告服务器使用。
- 加密密钥:存储和检索敏感数据所必需的。 首次配置数据库时自动创建。 创建密钥之后,如果更改报表服务器服务标识,则必须更新这些密钥。 有关使用加密密钥的详细信息,请参阅配置和管理加密密钥(报表服务器配置管理器)。
报表服务器数据库为内部组件,只有报表服务器可以访问。 为报表服务器数据库指定的凭据和连接信息专门由报表服务器使用。 请求报表的用户不需要拥有报表服务器数据库的数据库权限或数据库登录名。
Reporting Services 使用 System.Data.SqlClient 连接到托管报表服务器数据库的数据库引擎。 如果使用数据库引擎的本地实例,报表服务器将使用共享内存建立连接。 如果使用报表服务器数据库的远程数据库服务器,则要根据所使用的版本启用远程连接。 如果使用 Enterprise Edition,则默认情况下会启用 TCP/IP 远程连接。
可打开 SQL Server 配置管理器并确认是否为每个服务启用了 TCP/IP 协议,验证实例是否接受远程连接。 启用远程连接还会激活必要的客户端和服务器协议。 若要确认已启用这些协议,请打开 SQL Server 配置管理器,转到左侧窗格中的 SQL Server 网络配置,然后选择 MSSQLSERVER 协议。 有关详细信息,请参阅如何在 SQL Server 中启用或禁用服务器网络协议。
定义报表服务器数据库连接
若要配置连接,则要使用 Reporting Services 配置管理器工具或 rsconfig 命令行实用工具。 报表服务器需要以下连接信息:
- 数据库引擎实例名称:托管报告服务器数据库的数据库引擎实例的名称。
- 报表服务器数据库名称:首次创建连接时,可以创建新的报表服务器数据库,或选择现有数据库。 有关详细信息,请参阅创建报表服务器数据库(报表服务器配置管理器)。
- 凭证类型:可以使用服务帐户、Windows 域帐户或 SQL Server 数据库登录凭证。
- 用户名和密码:仅在使用 Windows 域帐户或 SQL Server 登录凭证时需要。
必须为提供的凭证授予对报表服务器数据库的访问权限。 如果使用 Reporting Services 配置工具,此步骤会自动执行。 有关访问数据库所需权限的详细信息,请参阅本文中的 Reporting Services 如何连接到数据库引擎一节。
存储数据库连接信息
Reporting Services 在下列 RSreportserver.config
设置中存储和加密连接信息。 使用 Reporting Services 配置工具或 rsconfig 实用工具为这些设置创建加密值。
并非每种连接类型都设置了所有值。 如果使用默认值配置连接(使用服务帐户建立连接),则 <LogonUser>、<LogonDomain> 和 <LogonCred> 将为空,如下所示:
<Dsn></Dsn>
<ConnectionType></ConnectionType>
<LogonUser></LogonUser>
<LogonDomain></LogonDomain>
<LogonCred></LogonCred>
如果将连接配置为使用特定的 Windows 帐户或数据库登录凭证,然后更改帐户或登录凭证,请记住更新存储的值。
选择凭据类型
在与报表服务器数据库的连接中可以使用三种凭证:
- Windows 集成安全性与报表服务器服务帐户:由于报表服务器作为单个服务实现,因此只有运行服务的帐户需要数据库访问。
- Windows 用户帐户:如果报表服务器和报表服务器数据库安装在同一台计算机上,则可以使用本地帐户。 否则,应使用域帐户。
- SQL Server 登录凭证:使用 SQL Server 登录凭证进行身份验证并连接到报表服务器数据库。 当数据库服务器位于不同的域中,或使用工作组安全性而不是域安全性时,此选项非常有用。
注意
不能使用自定义身份验证扩展插件连接报表服务器数据库。 自定义身份验证扩展插件只能用来对报表服务器的主体进行身份验证。 这不会影响报表服务器数据库的连接,也不会影响为报表提供内容的外部数据源的连接。
注意
使用 Azure SQL 托管实例承载报表服务器数据库时,SQL Server 身份验证是唯一受支持的凭证类型。 此外,托管实例无法托管报表服务器实例。
使用 Windows 集成安全性与报表服务器服务帐户
可以使用 Windows 集成安全性通过报表服务器服务帐户进行连接。 已为此帐户授予了登录报表服务器数据库的权限。 如果以默认配置安装 Reporting Services,此凭据类型将是安装程序选择的默认凭据类型。
此服务帐户为可信帐户,此帐户提供一种低维护方法来管理报表服务器数据库连接。 由于此服务帐户使用 Windows 集成安全性来建立连接,因此无需存储凭据。 但是,如果以后要更改服务帐户密码或标识,请确保使用 Reporting Services 配置工具进行更改。 该工具会将数据库权限自动更新为使用修改后的帐户信息。 有关更多信息,请参阅配置报表服务器服务帐户(报表服务器配置管理器)。
如果将数据库连接配置为使用服务帐户,并且报表服务器数据库位于远程计算机上,则该帐户必须拥有网络权限。 如果报表服务器数据库位于不同的域中,并且位于防火墙之后,或者您使用的是工作组安全性而非域安全性,则不要使用服务帐户。 请改用 SQL Server 数据库用户帐户。
如果为 Windows 身份验证配置数据库引擎实例,请确保该实例与报表服务器计算机位于同一域或受信任的域中。 然后可以配置连接以使用服务帐户。 或者,也可以使用通过 Reporting Services 配置工具作为连接属性管理的域用户帐户。 如果数据库服务器位于其他域中,或者使用的是工作组安全性,请将连接配置为使用 SQL Server 数据库登录凭证。 在这种情况下,一定要对连接进行加密。
使用 Windows 用户帐户
可以为报表服务器到报表服务器数据库的连接指定一个 Windows 用户帐户。 如果使用本地帐户或域帐户,则每次更改密码或帐户时,需更新报表服务器数据库连接。 请始终使用 Reporting Services 配置工具来更新连接。
使用 SQL Server 登录凭证
您可以指定一组 SQL Server 登录凭证来连接报表服务器数据库。 如果使用 SQL Server 身份验证并且报表服务器数据库位于远程计算机上,则可以使用 IPSec 来协助保护服务器之间的数据传输。 如果使用数据库登录凭证,则每次更改密码或帐户时,需更新报表服务器数据库连接。
数据库权限
用来连接到报表服务器数据库的帐户被授予了以下角色:
数据库 | 角色 |
---|---|
ReportServer |
public RSExecRole |
master msdb ReportServerTempDB |
RSExecRole |
使用 Reporting Services 配置工具创建或修改连接时,将自动授予这些权限。 如果使用 rsconfig 实用工具并且要为该连接指定不同的帐户,则需为该新帐户更新 SQL Server 登录凭证。 可在 Reporting Services 配置工具中创建用来更新报表服务器的 SQL Server 登录凭证的脚本文件。
验证数据库名称
使用 Reporting Services 配置工具可以确定特定报表服务器实例所使用的报表服务器数据库。 若要查找该名称,请连接到该报表服务器实例并打开“数据库安装”页。
使用不同的报表服务器数据库或移动报表服务器数据库
可以通过更改连接信息将报表服务器实例配置为使用不同的报表服务器数据库。 切换数据库的一个常见示例是部署生产报表服务器。 通常,生产服务器是通过从测试报表服务器数据库切换到生产报表服务器数据库来实现的。您还可以将报表服务器数据库移动到另一台计算机上。 有关详细信息,请参阅如何在 SQL Server 中升级和迁移 Reporting Services。
将多个报表服务器配置为使用同一个报表服务器数据库
可以将多个报表服务器配置为使用同一个报表服务器数据库。 此部署配置称为扩展部署。 如果要在服务器群集中运行多个报表服务器,则此配置为必备条件。 但是,如果要对服务应用程序进行分段,也可以使用此配置。 你可以使用它测试新报表服务器实例的安装和设置,以将其与现有报表服务器的安装进行比较。 有关详细信息,请参阅配置本机模式报表服务器扩展部署。