解决 HPC 报告数据库权限问题

本文介绍如何解决 Microsoft HPC 群集管理器中的高性能计算(HPC)报告数据库权限问题。

现象

在 HPC 群集管理器中,在 HPC 管理控制台的“图表和报表”窗格中选择一项后,群集管理器无法再连接到报告数据库,并且收到类似于以下文本的错误消息:

HPC 群集管理器无法连接到报告数据库。 请检查连接字符串“Data Source=<data-source-name>;初始 Catalog=CHHPCReporting;集成安全性=True;“,并确保你有权访问。

对对象“GetHelperInfo”、数据库“CHHPCReporting”、“架构”HpcReportingSp“拒绝 EXECUTE 权限。

原因

用户帐户未添加到 db_datareader 数据库,或者未向该帐户授予对架构的 dbo EXECUTE 权限。

解决方案

按照以下步骤添加用户帐户并应用必要的权限。

第 1 部分:设置 HPC 数据库并添加 HPC 报表的管理员组

  1. 按照 Run SetupHpcDatabase 脚本中的过程完成 HPC 数据库和 SQL Server 登录的配置。

  2. “开始” 菜单上,搜索并选择 SQL Server Management Studio

  3. Microsoft SQL Server Management Studio 窗口中,选择“打开文件图标。

  4. 浏览到并打开 AddHpcReportsAdminGroup.sql

  5. 在 SQL 文件中,将你使用的所有实例 $(TargetAccount) 替换为所使用的帐户(例如, hpc1\guest1)。

  6. 选择“执行”图标。 此时 会显示“消息 ”窗格,其中显示“命令已成功完成”消息。

  7. 对象资源管理器窗格中,展开 HPCReporting>Security>Schemas。

第 2 部分:验证 HpcReportingSp 架构是否具有预期权限

  1. 对象资源管理器窗格中,选择 HpcReportingSp 架构。

  2. 选择“属性”图标(扳手)。 此时会显示“架构属性 - HpcReportingSp”对话框。

  3. “选择页面 ”窗格中,选择“ 权限”。

  4. “用户”或“角色 ”列表中,选择用户帐户的名称。 帐户名称>部分的“显式”选项卡的权限<将包含以下数据行。

    权限 授权者 授予 具有授予权限 拒绝
    执行 dbo X O O
  5. 选择“取消”按钮。

第 3 部分:验证 HpcReportingView 架构是否具有预期权限

  1. 对象资源管理器窗格中,选择 HpcReportingView 架构。

  2. 选择“属性”图标(扳手)。 此时会显示“架构属性 - HpcReportingView”对话框。

  3. “选择页面 ”窗格中,选择“ 权限”。

  4. “用户”或“角色 ”列表中,选择用户帐户的名称。 帐户名称>部分的“显式”选项卡的权限<将包含以下数据行。

    权限 授权者 授予 具有授予权限 拒绝
    Select dbo X O O
    查看定义 dbo X O O
  5. 选择“取消”按钮。

第 4 部分:验证错误不再发生

在 HPC 群集管理器中,转到 HPC 管理控制台,然后在“图表和报表”窗格中选择一项。 有关被拒绝的 EXECUTE 权限的对话框错误消息不再出现。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区