GRANT (サーバーの権限の許可) (Transact-SQL)

サーバーに対する権限を許可します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

GRANT permission [ ,...n ] 
    TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
    [ AS <grantor_principal> ]

<grantee_principal> ::= SQL_Server_login 
    | SQL_Server_login_mapped_to_Windows_login
    | SQL_Server_login_mapped_to_Windows_group
    | SQL_Server_login_mapped_to_certificate
    | SQL_Server_login_mapped_to_asymmetric_key

<grantor_principal> ::= SQL_Server_login 
    | SQL_Server_login_mapped_to_Windows_login
    | SQL_Server_login_mapped_to_Windows_group
    | SQL_Server_login_mapped_to_certificate
    | SQL_Server_login_mapped_to_asymmetric_key

引数

  • permission
    サーバーで許可できる権限を指定します。権限の一覧については、後の「解説」を参照してください。
  • TO <grantee_principal>
    権限を許可するプリンシパルを指定します。
  • AS <grantor_principal>
    このクエリを実行するプリンシパルが権限を許可する権利を取得した、元のプリンシパルを指定します。
  • WITH GRANT OPTION
    権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。
  • SQL_Server_login
    SQL Server ログインを指定します。
  • SQL_Server_login_mapped_to_Windows_login
    Windows ログインにマップされている SQL Server ログインを指定します。
  • SQL_Server_login_mapped_to_Windows_group
    Windows グループにマップされている SQL Server ログインを指定します。
  • SQL_Server_login_mapped_to_certificate
    証明書にマップされている SQL Server ログインを指定します。
  • SQL_Server_login_mapped_to_asymmetric_key
    非対称キーにマップされている SQL Server ログインを指定します。

解説

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

サーバー権限に関する情報は sys.server_permissions カタログ ビュー、サーバー プリンシパルに関する情報は sys.server_principals カタログ ビューでそれぞれ確認できます。サーバー ロールのメンバシップに関する情報は、sys.server_role_members カタログ ビューで確認できます。

サーバーは権限の階層の最上位となります。次の表に、サーバーで許可できる最も限定的な権限を示します。

サーバー権限 権限が含まれるサーバー権限

ADMINISTER BULK OPERATIONS

CONTROL SERVER

ALTER ANY CONNECTION

CONTROL SERVER

ALTER ANY CREDENTIAL

CONTROL SERVER

ALTER ANY DATABASE

CONTROL SERVER

ALTER ANY ENDPOINT

CONTROL SERVER

ALTER ANY EVENT NOTIFICATION

CONTROL SERVER

ALTER ANY LINKED SERVER

CONTROL SERVER

ALTER ANY LOGIN

CONTROL SERVER

ALTER RESOURCES

CONTROL SERVER

ALTER SERVER STATE

CONTROL SERVER

ALTER SETTINGS

CONTROL SERVER

ALTER TRACE

CONTROL SERVER

AUTHENTICATE SERVER

CONTROL SERVER

CONNECT SQL

CONTROL SERVER

CONTROL SERVER

CONTROL SERVER

CREATE ANY DATABASE

ALTER ANY DATABASE

CREATE DDL EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

CREATE ENDPOINT

ALTER ANY ENDPOINT

CREATE TRACE EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

EXTERNAL ACCESS ASSEMBLY

CONTROL SERVER

SHUTDOWN

CONTROL SERVER

UNSAFE ASSEMBLY

CONTROL SERVER

VIEW ANY DATABASE

VIEW ANY DEFINITION

VIEW ANY DEFINITION

CONTROL SERVER

VIEW SERVER STATE

ALTER SERVER STATE

権限

権限の許可者 (または AS オプションで指定されたプリンシパル) は、GRANT OPTION によって与えられた権限を保持しているか、権限が暗黙的に与えられる上位の権限を保持している必要があります。sysadmin 固定サーバー ロールのメンバは、すべての権限を許可できます。

A. ログインに権限を許可する

次の例では、SQL Server ログイン TerryEminhizerCONTROL SERVER 権限を許可します。

USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO

B. GRANT 権限に関する権限を許可する

次の例では、SQL Server ログイン JanethEsteves に、ALTER ANY EVENT NOTIFICATION 権限を許可し、この権限を他のログインに許可する権利を与えます。

USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO

参照

関連項目

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY (サーバーの権限の拒否) (Transact-SQL)
REVOKE (サーバーの権限の取り消し) (Transact-SQL)

その他の技術情報

権限の階層
プリンシパル
権限

ヘルプおよび情報

SQL Server 2005 の参考資料の入手