DROP SERVER ROLE (Transact-SQL)
ユーザー定義サーバー ロールを削除します。
ユーザー定義サーバー ロールは、SQL Server 2012 で新しく追加されました。
構文
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 ;
関連項目
参照
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)