適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric の SQL データベース
データベースに対して許可および拒否された権限を取り消します。
Syntax
REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ]
{ TO | FROM } <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<permission> ::=
permission | ALL [ PRIVILEGES ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission
データベースで取り消すことができる権限を指定します。 権限の一覧については、後の「解説」を参照してください。
ALL
このオプションでは、可能な権限がすべて取り消されるわけではありません。 ALL を指定した場合は、次の権限を取り消すことになります:BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE、CREATE VIEW。
PRIVILEGES
ISO 準拠のために用意されています。 ALL の動作は変更されません。
助成金オプション
指定した権限を他のプリンシパルに許可するための権利が、取り消されることを示します。 権限自体は取り消されません。
Important
指定した権限が GRANT オプションなしでプリンシパルに許可されている場合は、その権限自体が取り消されます。
CASCADE
このプリンシパルによって権限が許可または拒否されている他のプリンシパルからも、同じ権限が取り消されることを示します。
Caution
WITH GRANT OPTION で許可されている権限を CASCADE で取り消すと、その権限の GRANT および DENY の両方が取り消されます。
AS <database_principal> このクエリを実行するプリンシパルが権限を取り消す権利を取得した、元のプリンシパルを指定します。
Database_user
データベース ユーザーを指定します。
Database_role
データベース ロールを指定します。
Application_role
適用対象: SQL Server 2008 (10.0.x)、SQL Database
アプリケーション ロールを指定します。
Database_user_mapped_to_Windows_User
適用対象: SQL Server 2008 (10.0.x) 以降
Windows ユーザーにマップされているデータベース ユーザーを指定します。
Database_user_mapped_to_Windows_Group
適用対象: SQL Server 2008 (10.0.x) 以降
Windows グループにマップされているデータベース ユーザーを指定します。
Database_user_mapped_to_certificate
適用対象: SQL Server 2008 (10.0.x) 以降
証明書にマップされているデータベース ユーザーを指定します。
Database_user_mapped_to_asymmetric_key
適用対象: SQL Server 2008 (10.0.x) 以降
非対称キーにマップされているデータベース ユーザーを指定します。
Database_user_with_no_login
対応するサーバー レベルのプリンシパルがないデータベース ユーザーを指定します。
Remarks
GRANT OPTION で権限が許可されたプリンシパルに対する権限を取り消すときに CASCADE を指定しない場合、ステートメントは失敗します。
データベースは、セキュリティ保護可能なリソースで、権限の階層で親となっているサーバーに含まれています。 次の表に、データベースで取り消すことができる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
| データベース許可 | 権限が含まれるデータベース権限 | 権限が含まれるサーバー権限 |
|---|---|---|
| データベースの一括処理の管理 適用対象: SQL Database。 |
CONTROL | 制御サーバー |
| ALTER | CONTROL | 任意のデータベースを変更する |
| 任意のアプリケーション ロールを変更する | ALTER | 制御サーバー |
| 任意のアセンブリを変更 | ALTER | 制御サーバー |
| 非対称キーを変更する | ALTER | 制御サーバー |
| 任意の証明書を変更する | ALTER | 制御サーバー |
| 任意の列の暗号化キーを変更します。 | ALTER | 制御サーバー |
| 任意のカラムマスターキー定義を変更する | ALTER | 制御サーバー |
| 任意の契約を変更する | ALTER | 制御サーバー |
| 任意のデータベース監査の変更 | ALTER | サーバー監査の変更許可 |
| ALTER ANY DATABASE DDL トリガー | ALTER | 制御サーバー |
| 任意のデータベースイベント通知を変更する | ALTER | 任意のイベント通知を変更する |
| ALTER ANY DATABASE イベント セッション 適用対象: Azure SQL データベース |
ALTER | 任意のイベントセッションを変更する |
| いずれのデータベース スコープ設定も変更する 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。 |
CONTROL | 制御サーバー |
| 任意のデータスペースを変更する | ALTER | 制御サーバー |
| すべての外部データ ソースを変更します。 | ALTER | 制御サーバー |
| 任意の外部のファイル形式を変更します。 | ALTER | 制御サーバー |
| ALTER ANY EXTERNAL LIBRARY 適用対象: SQL Server 2017 (14.x) |
CONTROL | 制御サーバー |
| 任意のフルテキストカタログを変更 | ALTER | 制御サーバー |
| 任意のマスクを変更します。 | CONTROL | 制御サーバー |
| 任意のメッセージ型を変更する | ALTER | 制御サーバー |
| 任意のリモートサービスバインディングを変更する | ALTER | 制御サーバー |
| あらゆるロールを変更する | ALTER | 制御サーバー |
| 任意のルートを変更 | ALTER | 制御サーバー |
| 任意のスキーマを変更する | ALTER | 制御サーバー |
| すべてのセキュリティ ポリシーを変更します。 適用対象: Azure SQL データベース |
CONTROL | 制御サーバー |
| 任意のサービスを変更する | ALTER | 制御サーバー |
| 対称鍵の変更可能 | ALTER | 制御サーバー |
| 任意のユーザーを変更する | ALTER | 制御サーバー |
| AUTHENTICATE | CONTROL | サーバーの認証 |
| データベースをバックアップ | CONTROL | 制御サーバー |
| バックアップ ログ | CONTROL | 制御サーバー |
| CHECKPOINT | CONTROL | 制御サーバー |
| CONNECT | コネクト・レプリケーション | 制御サーバー |
| コネクト・レプリケーション | CONTROL | 制御サーバー |
| CONTROL | CONTROL | 制御サーバー |
| 集計関数を作成する | ALTER | 制御サーバー |
| アセンブリを作成 | 任意のアセンブリを変更 | 制御サーバー |
| 非対称キーを作成する | 非対称キーを変更する | 制御サーバー |
| 証明書の作成 | 任意の証明書を変更する | 制御サーバー |
| 契約を作成 | 任意の契約を変更する | 制御サーバー |
| データベースを作成 | CONTROL | 任意のデータベースを作成する |
| データベースDDLイベント通知の作成 | 任意のデータベースイベント通知を変更する | CREATE DDL イベント通知 |
| デフォルトを作成する | ALTER | 制御サーバー |
| フルテキスト カタログの作成 | 任意のフルテキストカタログを変更 | 制御サーバー |
| CREATE 関数 | ALTER | 制御サーバー |
| メッセージの種類を作成する | 任意のメッセージ型を変更する | 制御サーバー |
| プロシージャを作成 | ALTER | 制御サーバー |
| キューを作成 | ALTER | 制御サーバー |
| リモート サービス バインディングを作成する | 任意のリモートサービスバインディングを変更する | 制御サーバー |
| 役割を作成 | あらゆるロールを変更する | 制御サーバー |
| ルートを作成 | 任意のルートを変更 | 制御サーバー |
| ルールを作成 | ALTER | 制御サーバー |
| スキーマを作成 (CREATE SCHEMA) | 任意のスキーマを変更する | 制御サーバー |
| サービスを作成 | 任意のサービスを変更する | 制御サーバー |
| 対称キーの作成 | 対称鍵の変更可能 | 制御サーバー |
| シノニムの作成 | ALTER | 制御サーバー |
| CREATE TABLE | ALTER | 制御サーバー |
| タイプの作成 | ALTER | 制御サーバー |
| ビューを作成 | ALTER | 制御サーバー |
| XML スキーマ コレクションの作成 | ALTER | 制御サーバー |
| DELETE | CONTROL | 制御サーバー |
| EXECUTE | CONTROL | 制御サーバー |
| EXECUTE ANY EXTERNAL SCRIPT 適用対象: SQL Server 2016 (13.x) |
CONTROL | 制御サーバー |
| INSERT | CONTROL | 制御サーバー |
| データベース接続の終了 適用対象: Azure SQL データベース |
CONTROL | 任意の接続を変更する |
| REFERENCES | CONTROL | 制御サーバー |
| SELECT | CONTROL | 制御サーバー |
| SHOWPLAN | CONTROL | ALTER TRACE |
| クエリ通知をサブスクライブする | CONTROL | 制御サーバー |
| 所有権 | CONTROL | 制御サーバー |
| UNMASK | CONTROL | 制御サーバー |
| UPDATE | CONTROL | 制御サーバー |
| 列の暗号化キーの定義を表示します。 | CONTROL | 任意の定義を表示 |
| 任意の列のマスター_キーの定義の表示 | CONTROL | 任意の定義を表示 |
| データベースの状態の表示 | CONTROL | サーバー状態を表示 |
| ビューの定義 | CONTROL | 任意の定義を表示 |
Permissions
このステートメントを実行するプリンシパル (または AS オプションで指定したプリンシパル) には、データベースに対する CONTROL 権限、またはデータベースに対する CONTROL 権限を暗黙的に許可する上位レベルの権限が与えられている必要があります。
AS オプションを使用する場合、指定するプリンシパルはデータベースを所有している必要があります。
Examples
A. 証明書を作成する権限を取り消す
次の例では、CREATE CERTIFICATE データベースに対する AdventureWorks2025 権限を、ユーザー MelanieK から取り消します。
適用対象: SQL Server 2008 (10.0.x) 以降
USE AdventureWorks2022;
REVOKE CREATE CERTIFICATE FROM MelanieK;
GO
B. REFERENCES 権限をアプリケーション ロールから取り消す
次の例では、REFERENCES データベースに対する AdventureWorks2025 権限を、アプリケーション ロール AuditMonitor から取り消します。
適用対象: SQL Server 2008 (10.0.x)、SQL Database
USE AdventureWorks2022;
REVOKE REFERENCES FROM AuditMonitor;
GO
C. CASCADE を指定して VIEW DEFINITION を取り消す
次の例では、VIEW DEFINITION データベースに対する AdventureWorks2025 権限を、ユーザー CarmineEs と、CarmineEs が VIEW DEFINITION 権限を許可したすべてのプリンシパルから取り消します。
USE AdventureWorks2022;
REVOKE VIEW DEFINITION FROM CarmineEs CASCADE;
GO
こちらもご覧ください
sys.database_permissions(Transact-SQL)
sys.database_principals(Transact-SQL)
GRANT (データベースの権限の許可) (Transact-SQL)
DENY (データベースの権限の拒否) (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)