16.3 SQL Server修改角色

SQL Server修改角色

简介

ALTER ROLE可以:

  • 重命名角色
  • 向角色中添加成员
  • 从角色中移除成员

重命名角色语法:

ALTER ROLE role_name 
WITH NAME = new_name;

向角色中添加成员语法:

ALTER ROLE role_name
ADD MEMBER database_principal;

此语句中,database_principal数据库用户用户定义的数据库角色。它不能是固定数据库自带角色或服务器主体。

从角色中移除成员语法:

ALTER ROLE role_name
DROP MEMBER database_principal;

示例

1) 重命名角色

将角色production重命名为manufacturing:

ALTER ROLE production
WITH NAME = manufacturing;

2) 向角色中添加成员

先创建一个login账户robert:

CREATE LOGIN robert
WITH PASSWORD = 'Uikbm!#90';

为登录robert创建一个新用户:

CREATE USER robert 
FOR LOGIN robert;

第三步,将用户robert添加到manufacturing角色:

ALTER ROLE manufacturing
ADD MEMBER robert;

查询验证用户robert是否是角色manufacturing的成员:

SELECT
  r.name role_name,
  r.type role_type,
  r.type_desc role_type_desc,
  m.name member_name,
  m.type member_type,
  m.type_desc meber_type_desc
FROM sys.database_principals r
INNER JOIN sys.database_role_members rm ON rm.role_principal_id = r.principal_id
INNER JOIN sys.database_principals m ON m.principal_id = rm.member_principal_id
WHERE r.name ='manufacturing';

3) 从角色中移除成员

将用户robert从角色manufacturing中移除:

ALTER ROLE manufacturing
DROP MEMBER robert;
posted @ 2023-01-30 21:36  平元兄  阅读(166)  评论(0编辑  收藏  举报