DROP ROLE (Transact-SQL)DROP ROLE (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

データベースからロールを削除します。Removes a role from the database.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文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 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

引数Arguments

IF EXISTSIF EXISTS
適用対象: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) から現在のバージョンまで)。Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version).

条件付きでは既に存在する場合にのみ、ロールを削除します。Conditionally drops the role only if it already exists.

role_namerole_name
データベースから削除するロールを指定します。Specifies the role to be dropped from the database.

解説Remarks

セキュリティ保護可能なリソースを所有するロールは、データベースから削除できません。Roles that own securables cannot be dropped from the database. セキュリティ保護可能なリソースを所有するデータベース ロールを削除するには、まず、セキュリティ保護可能なリソースの所有権を転送するか、リソースをデータベースから削除する必要があります。To drop a database role that owns securables, you must first transfer ownership of those securables or drop them from the database. メンバーを含むロールは、データベースから削除できません。Roles that have members cannot be dropped from the database. メンバーを含むロールを削除するには、まず、ロールのメンバーを削除する必要があります。To drop a role that has members, you must first remove members of the role.

データベース ロールからメンバーを削除するには、ALTER ROLE (Transact-SQL) を使います。To remove members from a database role, use ALTER ROLE (Transact-SQL).

DROP ROLE を使用して、固定データベース ロールを削除することはできません。You cannot use DROP ROLE to drop a fixed database role.

ロールのメンバーシップに関する情報は、sys.database_role_members カタログ ビューで表示できます。Information about role membership can be viewed in the sys.database_role_members catalog view.

注意事項

SQL Server 2005 からスキーマの動作が変更されました。Beginning with SQL Server 2005, the behavior of schemas changed. その結果、スキーマがデータベース ユーザーと同じであると想定しているコードでは、正しい結果が返されない場合があります。As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. 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 のいずれかの DDL ステートメントが使用されたことのあるデータベースでは、sysobjects などの古いカタログ ビューを使用しないでください。Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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. そのようなデータベースでは、代わりに新しいカタログ ビューを使用してください。In such databases you must instead use the new catalog views. 新しいカタログ ビューでは、SQL Server 2005 で導入されたプリンシパルとスキーマの分離が考慮されます。The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. カタログ ビューの詳細については、「カタログ ビュー (Transact-SQL)」を参照してください。For more information about catalog views, see Catalog Views (Transact-SQL).

サーバー ロールを削除するには、DROP SERVER ROLE (Transact-SQL) を使用します。To remove a server role, use DROP SERVER ROLE (Transact-SQL).

アクセス許可Permissions

データベースに対する ALTER ANY ROLE アクセス許可、ロールに対する CONTROL アクセス許可、または db_securityadmin のメンバーシップが必要です。Requires ALTER ANY ROLE permission on the database, or CONTROL permission on the role, or membership in the db_securityadmin.

Examples

次の例では、データベース ロール purchasingAdventureWorks2012 データベースから削除します。The following example drops the database role purchasing from the AdventureWorks2012 database.

DROP ROLE purchasing;  
GO  

参照See Also

CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL) ALTER ROLE (Transact-SQL)
プリンシパル (データベース エンジン) Principals (Database Engine)
EVENTDATA (Transact-SQL) EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL) sys.database_principals (Transact-SQL)
セキュリティ関数 (Transact-SQL)Security Functions (Transact-SQL)