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;