DROP SERVER ROLE (Transact-SQL)
移除使用者定義伺服器角色。
使用者定義的伺服器角色是 SQL Server 2012 新功能。
語法
DROP SERVER ROLE role_name
引數
- role_name
指定要從伺服器卸除的使用者定義伺服器角色。
備註
擁有安全性實體的使用者定義伺服器角色,不可以從伺服器卸除。 若要卸除一個擁有安全性實體的使用者定義伺服器角色,必須先轉移那些安全性實體的擁有權,或者刪除安全性實體。
含有成員的使用者定義伺服器角色,不可以卸除。 若要卸除具有成員的使用者定義伺服器角色,您必須先使用 ALTER SERVER ROLE 移除角色的成員。
固定伺服器角色無法移除。
您可以查詢 sys.server_role_members 目錄檢視,檢視有關角色成員資格的資訊。
權限
需要伺服器角色的 CONTROL 權限或 ALTER ANY SERVER ROLE 權限。
範例
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 ;
請參閱
參考
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)