DROP SERVER ROLE (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
ユーザー定義サーバー ロールを削除します。
ユーザー定義サーバー ロールは、SQL Server 2012 (11.x) で新しく追加されました。
構文
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)