DROP SERVER ROLE (Transact-SQL)
适用于:SQL Server Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)
删除用户定义的服务器角色。
用户定义的服务器角色是 SQL Server 2012 (11.x) 中的新增角色。
语法
DROP SERVER ROLE role_name
参数
role_name
指定要从服务器中删除的用户定义的服务器角色。
注解
无法从服务器中删除拥有安全对象的用户定义服务器角色。 若要删除拥有安全对象的用户定义服务器角色,必须先转移这些安全对象的所有权或删除这些安全对象。
无法删除拥有成员的用户定义服务器角色。 若要删除拥有成员的用户定义服务器角色,必须先使用 ALTER SERVER ROLE 删除该角色的成员。
无法删除固定服务器角色。
通过查询 sys.server_role_members 目录视图可查看有关角色成员身份的信息。
权限
要求具有服务器角色的 CONTROL 权限或 ALTER ANY SERVER 权限。
示例
A. 删除服务器角色
以下示例删除服务器角色 purchasing
。
DROP SERVER ROLE purchasing;
GO
B. 查看角色成员身份
若要查看角色成员身份,请使用 SQL Server Management Studio 中的“服务器角色(成员)”页或执行以下查询:
SELECT SRM.role_principal_id, SP.name AS Role_Name,
SRM.member_principal_id, SP2.name AS Member_Name
FROM sys.server_role_members AS SRM
JOIN sys.server_principals AS SP
ON SRM.Role_principal_id = SP.principal_id
JOIN sys.server_principals AS SP2
ON SRM.member_principal_id = SP2.principal_id
ORDER BY SP.name, SP2.name
C. 查看角色成员身份
若要确定服务器角色是否拥有其他服务器角色,请执行以下查询:
SELECT SP1.name AS RoleOwner, SP2.name AS Server_Role
FROM sys.server_principals AS SP1
JOIN sys.server_principals AS SP2
ON SP1.principal_id = SP2.owning_principal_id
ORDER BY SP1.name ;
另请参阅
ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
主体(数据库引擎)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)