DROP SERVER ROLE (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

移除使用者定義伺服器角色。

使用者定義的伺服器角色是 SQL Server 2012 (11.x) 中的新功能。

Transact-SQL 語法慣例

語法

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 ;  

另請參閱

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)