可用性グループの権限の拒否 (Transact-SQL)
適用対象: SQL Server
SQL Server で Always On 可用性グループに対する権限を拒否します。
構文
DENY permission [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name
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
権限を拒否する可用性グループを指定します。 スコープ修飾子 ( :: ) が必要です。
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 ログインの名前を指定します。
CASCADE
このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。
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;
DENY VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B. CASCADE オプションを指定して TAKE OWNERSHIP 権限を拒否する
次の例では、可用性グループ TAKE OWNERSHIP
での MyAg
権限を、SQL Server ユーザー PKomosinski
に対して拒否します。ここでは CASCADE
オプションを使用します。
USE master;
DENY TAKE OWNERSHIP 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)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)