DENY (サーバーの権限の拒否) (Transact-SQL)

サーバーの権限を拒否します。

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

構文

DENY permission [ ,...n ] 
    TO <grantee_principal> [ ,...n ]
    [ CASCADE ]
    [ 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
    サーバーで拒否できる権限を指定します。権限の一覧については、後の「解説」を参照してください。

  • CASCADE
    このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。

  • TO <server_principal>
    権限を拒否するプリンシパルを指定します。

  • AS <grantor_principal>
    このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元のプリンシパルを指定します。

  • 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 ANY SERVER AUDIT

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

権限

CONTROL SERVER 権限またはセキュリティ保護可能なリソースの所有権が必要です。AS 句を使用する場合、指定されたプリンシパルは、権限が拒否されるセキュリティ保護可能なリソースを所有している必要があります。

A. SQL Server ログインと、このログインが権限を許可したプリンシパルに対して CONNECT SQL 権限を拒否する

次の例では、SQL Server ログイン Annika と、このログインが権限を許可したプリンシパルに対して、CONNECT SQL 権限を拒否します。

USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO

B. AS オプションを使用して、SQL Server ログインに対し CREATE ENDPOINT 権限を拒否する

次の例では、ユーザー ArifS に対して CREATE ENDPOINT 権限を拒否します。この例では AS 句を使用して、このステートメントを実行するプリンシパルに権限を許可した、元のプリンシパルとして MandarP を指定します。

USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO

変更履歴

変更内容

ALTER ANY SERVER AUDIT 権限を追加しました。