DENY 可用性グループ権限(Transact-SQL)

適用対象:SQL Server

SQL Server で Always On 可用性グループに対する権限を拒否します。

Transact-SQL 構文表記規則

構文

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
可用性グループに対して拒否できる権限を指定します。 権限の一覧については、後の「解説」を参照してください。

ご報告日:AVAILABILITY GROUP:availability_group_name
権限を拒否する可用性グループを指定します。 スコープ修飾子 ( :: ) が必要です。

<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
このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。

SQL_Server_login
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元の SQL Server ログインを指定します。

解説

サーバー スコープの権限を拒否できるのは、現在のデータベースが master のときだけです。

可用性グループに関する情報は、sys.availability_groups (Transact-SQL) カタログ ビューで表示できます。 サーバー権限に関する情報は sys.server_permissions カタログ ビュー、サーバー プリンシパルに関する情報は sys.server_principals カタログ ビューでそれぞれ確認できます。

可用性グループは、サーバー レベルでセキュリティ保護可能なリソースです。 次の表に、可用性グループで拒否できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。

可用性グループの権限 権限が含まれる可用性グループ権限 権限が含まれるサーバー権限
ALTER CONTROL "任意の AVAILABILITY GROUP を変更"
CONNECT CONTROL 制御サーバー
CONTROL CONTROL 制御サーバー
所有権を取得する CONTROL 制御サーバー
VIEW 定義 CONTROL VIEW 任意の定義

アクセス許可

可用性グループに対してCONTROL権限が必要か、サーバー上の任意の AVAILABILITY GROUP 権限を変更する必要があります。

A. 可用性グループ VIEW DEFINITION許可を拒否すること

次の例では、可用性グループ VIEW DEFINITIONMyAg 権限を、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  

参照

REVOKE 可用性グループ権限(Transact-SQL)
GRANT 可用性グループ権限(Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups(Transact-SQL)
Always On 可用性グループ カタログ ビュー (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)