在 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
创建新角色
在SQL Server Management Studio中,展开要为其创建新角色的表格模型数据库,右键单击“角色”,然后单击“新建角色”。
在 “创建角色” 对话框的“选择页”窗口中,单击 “常规”。
在常规设置窗口的 “名称” 字段中,键入角色的名称。
使用明确标识成员类型的名称(例如,财务经理或人力资源专家),并确保名称不包含逗号。 默认情况下,对于每个新建角色,默认角色的名称将为递增式编号。
在 “为此角色设置数据库权限”中,选择以下权限选项之一:
权限 说明 完全控制(管理员) 成员可以对模型架构进行修改并可以查看所有数据。 处理数据库 成员可以运行“处理”和“全部处理”操作。 不能修改模型架构且不能查看数据。 读取 允许成员查看数据(基于行筛选器),但不能对模型架构进行任何更改。 在 “创建角色” 对话框的“选择页”窗口中,单击 “成员身份”。
在成员资格设置窗口中,单击“ 添加”,然后在 “选择用户或组 ”对话框中,添加要添加为成员的用户或组。
如果要创建的角色具有读取权限,则可以使用 DAX 公式为任何表添加行筛选器。 若要添加行筛选器,请在“ 角色属性 - <rolename> ”对话框中的“ 选择页”中,单击“ 行筛选器”。
在行筛选器窗口中,选择一个表,然后单击“ DAX 筛选器 ”字段,然后在 “DAX 筛选器 - <表名> ”字段中键入 DAX 公式。
注意
DAX 筛选器 - <tablename> 字段不包含自动完成查询编辑器或插入函数功能。
单击“ 确定 ”保存角色。
复制角色
- 在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\" "
}
]
}
],