在 SSMS 中创建和管理角色

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

本文介绍如何使用 SQL Server Management Studio (SSMS) 为部署的表格模型或Power BI Premium语义模型创建角色、定义角色权限以及添加用户。 若要了解如何使用 Visual Studio 创建和管理表格模型项目的角色,请参阅 在 Visual Studio 中创建和管理角色

使用 SSMS

创建新角色

  1. 在SQL Server Management Studio中,展开要为其创建新角色的表格模型数据库,右键单击“角色”,然后单击“新建角色”。

  2. “创建角色” 对话框的“选择页”窗口中,单击 “常规”

  3. 在常规设置窗口的 “名称” 字段中,键入角色的名称。

    使用明确标识成员类型的名称(例如,财务经理或人力资源专家),并确保名称不包含逗号。 默认情况下,对于每个新建角色,默认角色的名称将为递增式编号。

  4. “为此角色设置数据库权限”中,选择以下权限选项之一:

    权限 说明
    完全控制(管理员) 成员可以对模型架构进行修改并可以查看所有数据。
    处理数据库 成员可以运行“处理”和“全部处理”操作。 不能修改模型架构且不能查看数据。
    读取 允许成员查看数据(基于行筛选器),但不能对模型架构进行任何更改。
  5. “创建角色” 对话框的“选择页”窗口中,单击 “成员身份”

  6. 在成员资格设置窗口中,单击“ 添加”,然后在 “选择用户或组 ”对话框中,添加要添加为成员的用户或组。

  7. 如果要创建的角色具有读取权限,则可以使用 DAX 公式为任何表添加行筛选器。 若要添加行筛选器,请在“ 角色属性 - <rolename> ”对话框中的“ 选择页”中,单击“ 行筛选器”。

  8. 在行筛选器窗口中,选择一个表,然后单击“ DAX 筛选器 ”字段,然后在 “DAX 筛选器 - <表名> ”字段中键入 DAX 公式。

    注意

    DAX 筛选器 - <tablename> 字段不包含自动完成查询编辑器或插入函数功能。

  9. 单击“ 确定 ”保存角色。

复制角色

  1. 在SQL Server Management Studio中,展开包含要复制的角色的表格模型数据库,然后展开“角色”,右键单击该角色,然后单击“复制”。

编辑角色

  • 在SQL Server Management Studio中,展开包含要编辑的角色的表格模型数据库,然后展开“角色”,右键单击该角色,然后单击“属性”。

    “角色属性<rolename> ”对话框中,可以更改权限、添加或删除成员以及添加/编辑行筛选器。

删除角色

  • 在SQL Server Management Studio中,展开包含要删除的角色的表格模型数据库,然后展开“角色”,右键单击该角色,然后单击“删除”。

脚本

通过使用 表格模型脚本语言 (TMSL) 创建或修改 Roles 对象,可以编写已部署模型和语义模型的角色的脚本。 TMSL 脚本可在 SSMS 中执行,也可使用 Invoke-ASCmd PowerShell cmdlet 来执行。

右键单击数据库对象>“脚本数据库”作为>“创建”>或“替换到>新查询编辑器窗口”。 角色在 roles 对象中定义,例如:

        "roles": [
          {
            "name": "Sales Manager",
            "modelPermission": "read"
          },
          {
            "name": "Sales Analyst US",
            "modelPermission": "read",
            "tablePermissions": [
              {
                "name": "DimGeography",
                "filterExpression": "DimGeography[CountryRegionCode] = \"US\" "
              }
            ]
          }
        ],

另请参阅

角色