適用対象:SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL データベース
データベースからロールを削除します。
構文
SQL Server、Azure SQL Database、Azure SQL Managed Instance、Fabric SQL Database の構文
DROP ROLE [ IF EXISTS ] role_name
Azure Synapse Analytics と Parallel Data Warehouse の構文
DROP ROLE role_name
引数
存在する場合
適用対象: SQL Server (SQL Server 2016 (13.x) から現在のバージョンまで)。
条件付きでは既に存在する場合にのみ、ロールを削除します。
role_name
データベースから削除するロールを指定します。
解説
セキュリティ保護可能なリソースを所有するロールは、データベースから削除できません。 セキュリティ保護可能なリソースを所有するデータベース ロールを削除するには、まず、セキュリティ保護可能なリソースの所有権を転送するか、リソースをデータベースから削除する必要があります。 メンバーを含むロールは、データベースから削除できません。 メンバーを含むロールを削除するには、まず、ロールのメンバーを削除する必要があります。
データベース ロールからメンバーを削除するには、ALTER ROLE (Transact-SQL) を使用します。
DROP ROLE を使用して、固定データベース ロールを削除することはできません。
ロールのメンバーシップに関する情報は、sys.database_role_members カタログ ビューで表示できます。
注
スキーマは、データベース ユーザーと同等ではありません。 システム カタログ ビューを使用して、データベース ユーザーとスキーマの違いを特定します。
サーバー ロールを削除するには、DROP SERVER ROLE (Transact-SQL) を使用します。
アクセス許可
データベースに対する ALTER ANY ROLE アクセス許可、ロールに対する CONTROL アクセス許可、または db_securityadmin のメンバーシップが必要です。
例
次の例では、データベース ロール purchasing
を AdventureWorks2022
データベースから削除します。
DROP ROLE purchasing;
GO
参照
ロールを作成 (Transact-SQL)
オルターロール (Transact-SQL)
プリンシパル (データベース エンジン)
イベントデータ (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
セキュリティ関数 (Transact-SQL)