DROP SERVER ROLE (Transact-SQL)

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

使用者定義的伺服器角色是 SQL Server 2012 新功能。

主題連結圖示 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)

概念

主體 (Database Engine)