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

適用対象:SQL Server

Always On 可用性グループに対する権限を許可します。

Transact-SQL 構文表記規則

構文

GRANT permission  [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name  
        TO < server_principal >  [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ 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  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

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 ログインの名前を指定します。

WITH GRANT OPTION
権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。

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;  
GRANT VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;  
GO  

B. GRANT OPTION を指定して TAKE OWNERSHIP 権限を許可する

次の例では、可用性グループ TAKE OWNERSHIP での MyAg 権限を、SQL Server ユーザー PKomosinski に許可します。ここでは GRANT OPTION を使用します。

USE master;  
GRANT TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski   
    WITH GRANT OPTION;  
GO  

C. 可用性グループの CONTROL 権限を許可する

次の例では、可用性グループ CONTROL での MyAg 権限を、SQL Server ユーザー PKomosinski に対して許可します。 CONTROL によって、ログインは可用性グループを (その可用性グループの所有者でない場合でも) 完全に制御できます。 所有権の変更については、「ALTER AUTHORIZATION (Transact-SQL)」をご覧ください。

USE master;  
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski;  
GO  

参照

可用性グループの権限の取り消し (Transact-SQL)
可用性グループの権限の拒否 (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
AlwaysOn 可用性グループ カタログ ビュー (Transact-SQL)アクセス許可 (データベース エンジン)
プリンシパル (データベース エンジン)