REVOKE (Transact-SQL)

以前に許可または拒否した権限を取り消します。

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

構文

Simplified syntax for REVOKE
REVOKE [ GRANT OPTION FOR ]
      { 
        [ ALL [ PRIVILEGES ] ]
        |
                permission [ ( column [ ,...n ] ) ] [ ,...n ]
      }
      [ ON [ class :: ] securable ] 
      { TO | FROM } principal [ ,...n ] 
      [ CASCADE] [ AS principal ]

引数

  • GRANT OPTION FOR
    指定した権限を与える許可を取り消します。CASCADE 引数を使用する場合、この引数は必須です。

    重要な注意事項重要

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

  • ALL
    このオプションでは、可能な権限がすべて取り消されるわけではありません。ALL を指定すると、次の権限が取り消されます。

    • セキュリティ保護可能なリソースがデータベースの場合、BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE、CREATE VIEW。

    • セキュリティ保護可能なリソースがスカラー関数の場合、EXECUTE および REFERENCES。

    • セキュリティ保護可能なリソースがテーブル値関数の場合、DELETE、INSERT、REFERENCES、SELECT、UPDATE。

    • セキュリティ保護可能なリソースがストアド プロシージャの場合、EXECUTE。

    • セキュリティ保護可能なリソースがテーブルの場合、DELETE、INSERT、REFERENCES、SELECT、UPDATE。

    • セキュリティ保護可能なリソースがビューの場合、DELETE、INSERT、REFERENCES、SELECT、UPDATE。

    注意

    REVOKE ALL 構文は推奨されません。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。代わりに特定の権限を取り消してください。

  • PRIVILEGES
    ISO 準拠のために用意されています。ALL の動作は変更されません。

  • permission
    権限の名前を指定します。セキュリティ保護可能なリソースと権限の有効な組み合わせについては、後の「セキュリティ保護可能なリソース別の構文」の一覧を参照してください。

  • column
    権限を取り消すテーブルの列の名前を指定します。かっこで囲む必要があります。

  • class
    権限を取り消すセキュリティ保護可能なリソースのクラスを指定します。スコープ修飾子 :: が必要です。

  • securable
    権限を取り消すセキュリティ保護可能なリソースを指定します。

  • TO | FROM principal
    プリンシパルの名前を指定します。セキュリティ保護可能なリソースに対する権限を取り消すことのできるプリンシパルは、そのリソースによって異なります。有効な組み合わせの詳細については、後の「セキュリティ保護可能なリソース別の構文」の一覧を参照してください。

  • CASCADE
    このプリンシパルによって権限が許可されている他のプリンシパルからも、同じ権限が取り消されることを示します。CASCADE 引数を使用する場合は、GRANT OPTION FOR 引数も指定する必要があります。

    注記注意

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

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

説明

REVOKE ステートメントの完全な構文は複雑です。前の構文ダイアグラムは、構造をわかりやすくするために簡略化されています。特定のセキュリティ保護可能なリソースに対する権限を取り消すための完全な構文については、後の「セキュリティ保護可能なリソース別の構文」の一覧を参照してください。

許可された権限を取り消す場合は REVOKE ステートメントを使用します。また、GRANT ステートメントによってプリンシパルに特定の権限が許可されないようにするには DENY ステートメントを使用します。

権限を許可すると、指定したセキュリティ保護可能なリソースに対する権限の DENY または REVOKE は削除されます。対象のセキュリティ保護可能なリソースの上位スコープで同じ権限が拒否されている場合は、その DENY ステートメントが優先されますが、上位スコープで許可されている権限を取り消そうとしても、その REVOKE ステートメントは優先されません。

注記注意

テーブル レベルの DENY ステートメントが列レベルの GRANT ステートメントより優先されることはありません。この動作は権限の階層内で一貫していませんが、旧バージョンとの互換性のために保持されています。将来のリリースでは削除される予定です。

システム ストアド プロシージャ sp_helprotect では、データベース レベルのセキュリティ保護可能なリソースに対する権限がレポートされます。

GRANT OPTION で権限が許可されたプリンシパルから権限を取り消すときに CASCADE を指定しない場合、REVOKE ステートメントは失敗します。

権限

セキュリティ保護可能なリソースに対して CONTROL 権限があるプリンシパルは、そのリソースの権限を取り消すことができます。オブジェクトの所有者は、所有するオブジェクトに対する権限を取り消すことができます。

sysadmin 固定サーバー ロールのメンバーなど、CONTROL SERVER 権限が許可されているユーザーは、サーバー内のセキュリティ保護可能なリソースに対する権限を取り消すことができます。db_owner 固定データベース ロールのメンバーなど、データベースに対する CONTROL 権限が許可されているユーザーは、データベース内のセキュリティ保護可能なリソースに対する権限を取り消すことができます。スキーマに対する CONTROL 権限が許可されているユーザーは、スキーマ内のオブジェクトに対する権限を取り消すことができます。

セキュリティ保護可能なリソース別の構文

次の表は、セキュリティ保護可能なリソースと、その構文について説明しているトピックの一覧です。

セキュリティ保護可能なリソース

トピック

アプリケーション ロール

REVOKE (データベース プリンシパルの権限の取り消し) (Transact-SQL)

アセンブリ

REVOKE (アセンブリの権限の取り消し) (Transact-SQL)

非対称キー

REVOKE (非対称キーの権限の取り消し) (Transact-SQL)

証明書

REVOKE (証明書の権限の取り消し) (Transact-SQL)

コントラクト

REVOKE (Service Broker の権限の取り消し) (Transact-SQL)

データベース

REVOKE (データベースの権限の取り消し) (Transact-SQL)

エンドポイント

REVOKE (エンドポイントの権限の取り消し) (Transact-SQL)

フルテキスト カタログ

REVOKE (フルテキストの権限の取り消し) (Transact-SQL)

フルテキスト ストップ リスト

REVOKE (フルテキストの権限の取り消し) (Transact-SQL)

関数

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

ログイン

REVOKE (サーバー プリンシパルの権限の取り消し) (Transact-SQL)

メッセージ型

REVOKE (Service Broker の権限の取り消し) (Transact-SQL)

オブジェクト

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

キュー

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

リモート サービス バインド

REVOKE (Service Broker の権限の取り消し) (Transact-SQL)

ロール

REVOKE (データベース プリンシパルの権限の取り消し) (Transact-SQL)

ルート

REVOKE (Service Broker の権限の取り消し) (Transact-SQL)

スキーマ

REVOKE (スキーマ権限の取り消し) (Transact-SQL)

サーバー

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

サービス

REVOKE (Service Broker の権限の取り消し) (Transact-SQL)

ストアド プロシージャ

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

対称キー

REVOKE (対称キーの権限の取り消し) (Transact-SQL)

シノニム

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

システム オブジェクト

REVOKE (システム オブジェクトの権限の取り消し) (Transact-SQL)

テーブル

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

REVOKE (型の権限の取り消し) (Transact-SQL)

ユーザー

REVOKE (データベース プリンシパルの権限の取り消し) (Transact-SQL)

ビュー

REVOKE (オブジェクトの権限の取り消し) (Transact-SQL)

XML スキーマ コレクション

REVOKE (XML スキーマ コレクションの権限の取り消し) (Transact-SQL)