適用対象: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
SQL Server、Azure SQL Database、および Fabric 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 ]
Azure Synapse Analytics、Parallel Data Warehouse、および Microsoft Fabric Warehouse の構文
REVOKE
<permission> [ ,...n ]
[ ON [ <class_type> :: ] securable ]
[ FROM | TO ] principal [ ,...n ]
[ CASCADE ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
GRANT オプション
指定した権限を与える許可を取り消すことを示します。 CASCADE 引数を使用する場合、これは必須です。
Important
もし校長が指定された許可を得て GRANT オプションがない場合、その許可自体は取り消されます。
ALL
適用対象: SQL Server 2008 (10.0.x) 以降
このオプションでは、可能な権限がすべて取り消されるわけではありません。 ALL を指定すると、次の権限が取り消されます。
もしセキュア対象がデータベースであれば、ALLは BACKUPDATABASE、 BACKUP ログ、 CREATE DATABASE、 CREATE DEFAULT、 CREATE FUNCTION、 CREATE PROCEDURE、 CREATE RULE、 CREATE TABLE、 CREATE VIEWを意味します。
セキュリティ保護可能なリソースがスカラー関数の場合、EXECUTE および REFERENCES。
もしセキュラブルがテーブル値関数であれば、ALLは DELETE、 INSERT、参照、SELECT、 UPDATEを意味します。
セキュリティ保護可能なリソースがストアド プロシージャの場合、EXECUTE。
もしセキュア可能がテーブルであれば、ALLは DELETE、 INSERT、参照、SELECT、 UPDATEを意味します。
もしセキュア可能がビューであれば、ALLは DELETE、 INSERT、参照、SELECT、 UPDATEを意味します。
Note
REVOKE ALL構文は非推奨となっています。 この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに特定の権限を取り消してください。
PRIVILEGES
ISO 準拠のために用意されています。 ALL の動作は変更されません。
permission
権限の名前を指定します。 セキュリティ保護可能なリソースと権限の有効な組み合わせについては、後の「セキュリティ保護可能なリソース別の構文」の一覧を参照してください。
column
権限を取り消すテーブルの列の名前を指定します。 かっこが必要です。
class
権限を取り消すセキュリティ保護可能なリソースのクラスを指定します。 スコープ修飾子 :: が必要です。
securable
権限を取り消すセキュリティ保護可能なリソースを指定します。
TO |FROM プリンシパル
プリンシパルの名前です。 セキュリティ保護可能なリソースに対する権限を取り消すことのできるプリンシパルは、そのリソースによって異なります。 有効な組み合わせの詳細については、後の「セキュリティ保護可能なリソース別の構文」の一覧を参照してください。
CASCADE
このプリンシパルによって権限が許可されている他のプリンシパルからも、同じ権限が取り消されることを示します。 CASCADE引数を使う場合は、 GRANT OPTION FOR 引数も含めなければなりません。
Caution
WITH GRANT OPTIONで付与された許可の連鎖的な取り消しは、その許可の GRANT と DENY の両方を取り消します。
AS校長
自分以外のプリンシパルによって付与された権限を取り消すことを示すには、AS AS RAUL 句を使って、Raul の権限付与を取り消すことができます。
このステートメントで AS を使っても、別のユーザーを偽装できることは意味しません。
Remarks
REVOKE ステートメントの完全な構文は複雑です。 前の構文ダイアグラムは、構造をわかりやすくするために簡略化されています。 特定のセキュリティ保護可能なリソースに対する権限を取り消すための完全な構文については、後の「セキュリティ保護可能なリソース別の構文」の一覧を参照してください。
REVOKE ステートメントを使用して付与されたアクセス許可を削除できます。また、DENY ステートメントを使用して、プリンシパルがGRANTを介して特定のアクセス許可を取得できないようにすることができます。
アクセス許可を付与すると、指定したセキュリティ保護可能なリソースに対するアクセス許可の DENY または REVOKE が削除されます。 セキュリティ保護可能なリソースを含む上位のスコープで同じアクセス許可が拒否された場合、 DENY が優先されます。 ただし、上位スコープで許可されている権限を取り消そうとしても、その REVOKE ステートメントは優先されません。
Caution
テーブル レベルの DENY は、列レベルの GRANTよりも優先されません。 この動作は権限の階層内で一貫していませんが、旧バージョンとの互換性のために保持されています。 将来のリリースでは削除される予定です。
システム ストアド プロシージャ sp_helprotect では、データベース レベルのセキュリティ保護可能なリソースに対する権限がレポートされます
REVOKE文は、CASCADEが指定されていない場合、その権限を付与されたプリンシパルからの許可を取り消す際に失敗します。その権限はオプションが指定されていてGRANTです。
Permissions
セキュリティ保護可能なリソースに対して CONTROL 権限があるプリンシパルは、そのセキュリティ保護可能なリソースの権限を取り消すことができます。 オブジェクトの所有者は、所有するオブジェクトに対する権限を取り消すことができます。
sysadmin 固定サーバー ロールのメンバーなど、CONTROL SERVER 権限が許可されているユーザーは、サーバー内のセキュリティ保護可能なリソースに対する権限を取り消すことができます。 db_owner 固定データベース ロールのメンバーなど、データベースに対する CONTROL 権限が許可されているユーザーは、データベース内のセキュリティ保護可能なリソースに対する権限を取り消すことができます。 スキーマに対する CONTROL 権限が許可されているユーザーは、スキーマ内のオブジェクトに対する権限を取り消すことができます。
セキュラブル特化構文論
次の表は、セキュリティ保護可能なリソースと、セキュリティ保護可能なリソース固有の構文について説明しているトピックの一覧です。
Examples
A. 許可と取り消し
適用対象: SQL Server, SQL Database
次の例では、スキーマ、包含データベース ユーザー、ユーザー データベースの新しいロールを作成します。 ロールにユーザーを追加し、そのロールにスキーマに対する SELECT 権限を付与した後、ロールに対して (REVOKE) 権限を削除します。
CREATE SCHEMA Sales;
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe;
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
こちらもご覧ください
権限の階層 (データベース エンジン)
DENY (Transact-SQL)
GRANT (Transact-SQL)
sp_addlogin(Transact-SQL)
sp_adduser(Transact-SQL)
sp_changedbowner(Transact-SQL)
sp_dropuser(Transact-SQL)
sp_helprotect(Transact-SQL)
sp_helpuser(Transact-SQL)