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

サーバー レベルの GRANT および DENY の権限を取り消します。

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

構文

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ] 
    { TO | FROM } <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
    サーバーで許可できる権限を指定します。権限の一覧については、後の「解説」を参照してください。

  • { TO | FROM } <grantee_principal>
    権限を取り消すプリンシパルを指定します。

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

  • GRANT OPTION FOR
    指定した権限を他のプリンシパルに許可するための権利が、取り消されます。権限自体は取り消されません。

    重要な注意事項重要

    指定した権限が GRANT オプションなしでプリンシパルに許可されている場合は、その権限自体が取り消されます。

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

    注記注意

    WITH GRANT OPTION で許可されている権限を CASCADE で取り消すと、その権限の GRANT および DENY の両方が取り消されます。

  • 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 のときだけです。

REVOKE では、GRANT と DENY の両方の権限が取り消されます。

指定した権限を許可するための権利を取り消すには、REVOKE GRANT OPTION FOR を使用します。プリンシパルに、権限とその権限を許可する権利がある場合は、権限を許可する権利だけが取り消され、権限自体は取り消されません。ただし、指定した権限が GRANT オプションなしでプリンシパルに許可されている場合は、その権限自体が取り消されます。

サーバー権限に関する情報は 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 権限、または sysadmin 固定サーバー ロールのメンバーシップが必要です。

A. ログインから権限を取り消す

次の例では、SQL Server ログイン WanidaBenshoof から、VIEW SERVER STATE 権限を取り消します。

USE master;
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;
GO

B. WITH GRANT オプションを取り消す

次の例では、SQL Server ログイン JanethEsteves から、CONNECT SQL を許可する権利を取り消します。

USE master;
REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;
GO

ログインは引き続き CONNECT SQL 権限を保持しますが、他のプリンシパルに権限を許可することはできなくなります。