DROP ROLE (Transact-SQL)

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

從資料庫中移除角色。

Transact-SQL 語法慣例

Syntax

-- Syntax for SQL Server  
  
DROP ROLE [ IF EXISTS ] role_name  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  

DROP ROLE role_name  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

IF EXISTS
適用於:SQL Server (SQL Server 2016 (13.x) 到最新版本)。

只有在角色已存在時,才能有條件地將其卸除。

role_name
指定要從資料庫卸除的角色。

備註

擁有安全性實體的角色,不可以從資料庫卸除。 若要卸除一個擁有安全性實體的資料庫角色,必須先傳送那些安全性實體的擁有權,或者從資料庫卸除它們。 含有成員的角色,不可以從資料庫卸除。 若要卸除一個含有成員的角色,必須先移除該角色的成員。

若要從資料庫角色移除成員,請使用 ALTER ROLE (Transact-SQL)

您不可以利用 DROP ROLE 來卸除固定資料庫角色。

您可以在 sys.database_role_members 目錄檢視中,檢視角色成員資格的相關資訊。

警告

從 SQL Server 2005 開始,結構描述的行為已經變更。 結果是,假設結構描述相當於資料庫使用者的程式碼可能不會傳回正確的結果。 不應該在曾經使用下列任何一個 DDL 陳述式的資料庫中使用舊的目錄檢視 (包括 sysobjects):CREATE SCHEMA、ALTER SCHEMA、DROP SCHEMA、CREATE USER、ALTER USER、DROP USER、CREATE ROLE、ALTER ROLE、DROP ROLE、CREATE APPROLE、ALTER APPROLE、DROP APPROLE、ALTER AUTHORIZATION。 在此類資料庫中,必須改用新的目錄檢視。 新的目錄檢視會考量 SQL Server 2005 中所導入的主體和結構描述的分隔。 如需目錄檢視的詳細資訊,請參閱目錄檢視 (Transact-SQL)

若要移除伺服器角色,請使用 DROP SERVER ROLE (Transact-SQL)

權限

需要資料庫的 ALTER ANY ROLE 權限、角色的 CONTROL 權限,或 db_securityadmin 的成員資格。

範例

下列範例會從 AdventureWorks2022 資料庫卸除資料庫角色 purchasing

DROP ROLE purchasing;  
GO  

另請參閱

CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL)
主體 (資料庫引擎)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
安全性函數 (Transact-SQL)