加入角色

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric SQL 数据库

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 将角色分配给 SQL Server 中的登录名和数据库用户。 可使用 SQL Server 中的角色高效地管理权限。 将权限分配给角色,然后在角色中添加和删除用户以及登录名。 通过使用角色,不必针对各个用户单独维护权限。

SQL Server 支持四种类型的角色。

  • 固定服务器角色

  • 用户定义的服务器角色

  • 固定数据库角色

  • 用户定义的数据库角色

SQL Server 中会自动提供固定角色。 固定角色具有完成常见任务必需的权限。 有关固定角色的详细信息,请参阅以下链接。 用户定义的角色由您创建,并可使用选择的权限进行自定义。 有关用户定义角色的详细信息,请参阅以下链接。

使用 SQL Server Management Studio

注意

本部分中的两个过程仅适用于 SQL Server。

将成员添加到固定服务器角色

  1. 在“对象资源管理器”中,展开要在其中编辑固定服务器角色的服务器。

  2. 展开 “安全性” 文件夹。

  3. 展开 “服务器角色” 文件夹。

  4. 右键单击要编辑的角色,然后选择“属性”

  5. “服务器角色属性 ”对话框中,选择“ 成员 ”页,然后选择“ 添加”。

  6. 在“选择服务器登录名或角色”对话框的“输入要选择的对象名称(示例)”下,输入要添加到该服务器角色的登录名或服务器角色。 或者,选择“浏览...”,然后在“浏览对象”对话框中选择任意或全部可用对象。 选择“确定以返回到“服务器角色属性”对话框。

  7. 选择“确定”

将成员添加到用户定义的数据库角色

  1. 在“对象资源管理器”中,展开要在其中编辑用户定义的数据库角色的服务器。

  2. 展开 “数据库” 文件夹。

  3. 展开要在其中编辑用户定义的数据库角色的数据库。

  4. 展开 “安全性” 文件夹。

  5. 展开 “角色” 文件夹。

  6. 展开“数据库角色”文件夹。

  7. 右键单击要编辑的角色,然后选择“属性”

  8. “数据库角色属性 -database_role_name”对话框中的“常规”页中,选择“添加”。

  9. 在“选择数据库用户或角色”对话框的“输入要选择的对象名称(示例)”下,输入要添加到该数据库角色的登录名或数据库角色。 或者,选择“浏览...”,然后在“浏览对象”对话框中选择任意或全部可用对象。 选择“确定”以返回到“数据库角色属性 -database_role_name对话框。

  10. 选择“确定”

使用 Transact-SQL

将成员添加到固定服务器角色

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准栏上,选择“新建查询” 。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。

    ALTER SERVER ROLE diskadmin ADD MEMBER [Domain\Juan] ;  
    GO  
    

有关详细信息,请参阅 ALTER SERVER ROLE (Transact-SQL))

将成员添加到用户定义的数据库角色

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准栏上,选择“新建查询” 。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。

    ALTER ROLE Marketing ADD MEMBER [Domain\Juan] ;  
    GO  
    

有关详细信息,请参阅 ALTER ROLE (Transact-SQL)

权限

要求对数据库具有 ALTER ANY ROLE 权限、对角色具有 ALTER 权限或具有 db_securityadmin中的成员身份。

在 Microsoft Fabric 中的 SQL 数据库中,Fabric 中具有写入项权限的用户/应用可以授予任何权限。

限制

  • 更改数据库角色的名称不会更改角色的 ID 号、所有者或权限。
  • 数据库角色在sys.database_role_memberssys.database_principals目录视图中可见。
  • 在 Microsoft Fabric 中的 SQL 数据库中,仅支持数据库级用户和角色。 在 Microsoft Fabric 中的 SQL 数据库中,Microsoft数据库用户的 Entra ID 是唯一支持的身份验证方法。 有关详细信息,请参阅 Microsoft Fabric 中的 SQL 数据库中的授权。