可用性グループの権限の取り消し (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
Always On 可用性グループに対する権限を取り消します。
構文
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON AVAILABILITY GROUP :: availability_group_name
{ FROM | TO } < server_principal > [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
引数
permission
可用性グループに対して取り消すことができる権限を指定します。 権限の一覧については、後の「解説」を参照してください。
ON AVAILABILITY GROUP ::availability_group_name
権限を取り消す可用性グループを指定します。 スコープ修飾子 ( :: ) が必要です。
{ FROM | TO } <server_principal> 取り消されている権限の対象となる SQL Server ログインを指定します。
SQL_Server_login
SQL Server ログインの名前を指定します。
SQL_Server_login_from_Windows_login
Windows ログインから作成された SQL Server ログインの名前を指定します。
SQL_Server_login_from_certificate
証明書にマップされている SQL Server ログインの名前を指定します。
SQL_Server_login_from_AsymKey
非対称キーにマップされている SQL Server ログインの名前を指定します。
GRANT OPTION
指定した権限を他のプリンシパルに許可するための権利が、取り消されることを示します。 権限自体は取り消されません。
重要
指定した権限が GRANT オプションなしでプリンシパルに許可されている場合は、その権限自体が取り消されます。
CASCADE
このプリンシパルによって権限が許可または拒否されている他のプリンシパルからも、同じ権限が取り消されることを示します。
重要
WITH GRANT OPTION で許可されている権限を CASCADE で取り消すと、その権限の GRANT および DENY の両方が取り消されます。
AS SQL_Server_login
このクエリを実行するプリンシパルが権限を取り消す権利を取得した、元の SQL Server ログインを指定します。
解説
サーバー スコープの権限を取り消すことができるのは、現在のデータベースが master のときだけです。
可用性グループに関する情報は、sys.availability_groups (Transact-SQL) カタログ ビューで表示できます。 サーバー権限に関する情報は sys.server_permissions カタログ ビュー、サーバー プリンシパルに関する情報は sys.server_principals カタログ ビューでそれぞれ確認できます。
可用性グループは、サーバー レベルでセキュリティ保護可能なリソースです。 次の表に、可用性グループで取り消すことができる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
可用性グループの権限 | 権限が含まれる可用性グループ権限 | 権限が含まれるサーバー権限 |
---|---|---|
ALTER | CONTROL | ALTER ANY AVAILABILITY GROUP |
CONNECT | CONTROL | CONTROL SERVER |
CONTROL | CONTROL | CONTROL SERVER |
TAKE OWNERSHIP | CONTROL | CONTROL SERVER |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
アクセス許可
可用性グループに対する CONTROL 権限、またはサーバーに対する ALTER ANY AVAILABILITY GROUP 権限が必要です。
例
A. 可用性グループの VIEW DEFINITION 権限を取り消す
次の例では、可用性グループ MyAg
の VIEW DEFINITION
権限を、SQL Server ログイン ZArifin
に対して取り消します。
USE master;
REVOKE VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B. CASCADE を指定して TAKE OWNERSHIP 権限を取り消す
次の例では、可用性グループ MyAg
の TAKE OWNERSHIP
権限を、PKomosinski
によって MyAg での TAKE OWNERSHIP 権限が許可されたすべてのプリンシパルから、SQL Server ユーザー PKomosinski
に対して取り消します。
USE master;
REVOKE TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE;
GO
C. 以前に許可した WITH GRANT OPTION 句を取り消す
WITH GRANT OPTION を使用して権限が許可されていた場合、その WITH GRANT OPTION を取り消すには REVOKE GRANT OPTION FOR を使用します。 次の例では、権限を許可し、その権限の WITH GRANT の部分を取り消します。
USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
WITH GRANT OPTION;
GO
REVOKE GRANT OPTION FOR CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE
GO
参照
可用性グループの権限の許可 (Transact-SQL)
可用性グループの権限の拒否 (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Always On 可用性グループ カタログ ビュー (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)