用于 SSRS 服务应用程序的设置订阅和警报

Reporting Services 订阅和数据警报可能需要配置 SQL Server 代理权限。 如果您看到指示“需要 SQL Server 代理”的错误消息而您已验证 SQL Server 代理正在运行,则您需要更新权限。 对服务应用程序、msdb 和 master 数据库中的对象,您键入的凭据需要有足够的权限来将执行权限授予 RSExecRole。

  • 对服务应用程序数据库的 SQL 代理权限

 

说明

1

承载 Reporting Services 服务应用程序数据库的 SQL Server 数据库引擎实例。

2

SQL 数据库引擎实例的 SQL Server 代理实例。

3

Reporting Services 服务应用程序数据库。 基于用于创建服务应用程序的信息的名称。 下面是示例数据库的名称:

  • ReportingService_2fbae157295d49df86d0b85760c704b0

  • ReportingService_2fbae157295d49df86d0b85760c704b0_Alerting

  • ReportingService_2fbae157295d49df86d0b85760c704b0TempDB

4

SQL Server 数据库引擎实例的 master 和 MSDB 数据库。

本主题介绍了三种可用来更新权限的方法:

  1. 在**“设置、订阅和警报”页上,键入凭据并单击“确定”**。

  2. 在“设置、订阅和警报”页上单击**“下载脚本”**按钮,以便下载可用于配置权限的 transact SQL 脚本。

  3. 运行 PowerShell cmdlet,以便生成可用于配置权限的 transact SQL 脚本。

使用“设置”页更新权限

  1. 在 SharePoint 管理中心内,在**“应用程序管理”组中单击“管理服务应用程序”**

  2. 在列表中找到您的服务应用程序,然后单击该应用程序的名称或者单击**“类型”列以选择该服务应用程序,接着单击 SharePoint 功能区中的“管理”**按钮。

  3. 在**“管理 Reporting Services 应用程序”页上,单击“设置订阅和警报”**。

  4. 如果 SharePoint 管理员具有针对 Master 数据库和服务应用程序数据库的足够权限,请键入那些凭据。

  5. 单击**“确定”**按钮。

下载 Transact-SQL 脚本

  1. 在 SharePoint 管理中心内,在**“应用程序管理”组中单击“管理服务应用程序”**

  2. 在列表中找到您的服务应用程序,然后单击该应用程序的名称或者单击**“类型”列以选择该服务应用程序,接着单击 SharePoint 功能区中的“管理”**按钮。

  3. 在**“管理 Reporting Services 应用程序”页上,单击“设置订阅和警报”**。

  4. 在**“查看状态”**区域中,验证 SQL Server 代理是否正在运行。

  5. 单击**“下载脚本”**,以便下载可以在 SQL Server Management Studio 中运行的 transact SQL 脚本,从而授予权限。 创建的脚本文件的名称将包含您的 Reporting Services 服务应用程序的名称,例如 [服务应用程序的名称]-GrantRights.sql

利用 PowerShell 生成 Transact-SQL 语句

  1. 您也可以在 SharePoint 2010 Management Shell 中使用 Windows PowerShell cmdlet 创建 Transact-SQL 脚本。

  2. 在**“开始”菜单上,单击“所有程序”**。

  3. 展开**“Microsoft SharePoint 2010 产品”,然后单击“SharePoint 2010 Management Shell”**。

  4. 通过替换报表服务器数据库的名称、应用程序池帐户和语句路径来更新下面的 PowerShell cmdlet。

    **cmdlet 的语法:**Get-SPRSDatabaseRightsScript –DatabaseName <ReportingServices database name> -UserName <app pool account> -IsWindowsUser | Out-File <path of statement>

    **示例 cmdlet:**Get-SPRSDatabaseRightsScript –DatabaseName ReportingService_46fd00359f894b828907b254e3f6257c –UserName “NT AUTHORITY\NETWORK SERVICE” –IsWindowsUser | Out-File c:\SQLServerAgentrights.sql

使用 Transact-SQL 脚本

以下过程可用于通过“设置”页下载的脚本或使用 PowerShell 创建的脚本。

在 SQL Server Management Studio 中加载 Transact-SQL 脚本

  1. 若要打开 SQL Server Management Studio,请在**“开始”菜单上单击“Microsoft SQL Server 2012”,然后单击“SQL Server Management Studio”**。

  2. 在**“连接到服务器”**对话框中,设置以下选项:

    • 在**“服务器类型”列表中,选择“数据库引擎”**

    • 在**“服务器名称”**中键入要在其上配置 SQL Server 代理的 SQL Server 实例的名称。

    • 选择身份验证模式。

    • 如果使用 SQL Server 身份验证进行连接,请提供登录名和密码。

  3. 单击**“连接”**。

运行 Transact-SQL 语句

  1. 在 SQL Server Management Studio 的工具栏上,单击**“新建查询”**。

  2. 在**“文件”菜单上,单击“打开”,然后单击“文件”**。

  3. 定位到保存 SharePoint 2010 Management Shell 中生成的 Transact-SQL 语句的文件夹。

  4. 单击该文件,然后单击**“打开”**。

    该语句将添加到查询窗口。

  5. 单击**“执行”**。