適用対象: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
このオプションでは、可能な権限がすべて取り消されるわけではありません。 すべての権限を取り消すことは、 BACKUPDATABASE、 BACKUP LOG、 CREATE DATABASE、 CREATE DEFAULT、 CREATE FUNCTION、 CREATE PROCEDURE、 CREATE RULE、 CREATE TABLE、 CREATE VIEWの権限を取り消すことと同等です。
PRIVILEGES
ISO 準拠のために用意されています。 ALL の動作は変更されません。
GRANT オプション
指定した権限を他のプリンシパルに許可するための権利が、取り消されることを示します。 権限自体は取り消されません。
Important
もし校長が指定された許可を得て GRANT オプションがない場合、その許可自体は取り消されます。
CASCADE
このプリンシパルによって権限が許可または拒否されている他のプリンシパルからも、同じ権限が取り消されることを示します。
Caution
WITH GRANT OPTIONで付与された許可の連鎖的な取り消しは、その許可の 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オプションが指定された権限を付与されたプリンシパルへの許可を取り消す際にCASCADEが指定されていないと、文は失敗します。
データベースは、セキュリティ保護可能なリソースで、権限の階層で親となっているサーバーに含まれています。 次の表に、データベースで取り消すことができる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
| データベース許可 | 権限が含まれるデータベース権限 | 権限が含まれるサーバー権限 |
|---|---|---|
| 一括操作 DATABASE 管理する 適用対象: SQL Database。 |
CONTROL | 制御サーバー |
| ALTER | CONTROL | "任意の DATABASE を変更" |
| "任意の APPLICATION ROLE を変更" | ALTER | 制御サーバー |
| "任意の ASSEMBLY を変更" | ALTER | 制御サーバー |
| "任意の ASYMMETRIC KEY を変更" | ALTER | 制御サーバー |
| "任意の CERTIFICATE を変更" | ALTER | 制御サーバー |
| "任意の COLUMN ENCRYPTION KEY を変更" | ALTER | 制御サーバー |
| COLUMN MASTER KEY定義を変える | ALTER | 制御サーバー |
| "任意の CONTRACT を変更" | ALTER | 制御サーバー |
| 監査 DATABASE を変更する | ALTER | "任意の SERVER AUDIT を変更" |
| DDL DATABASE 変更 TRIGGER | ALTER | 制御サーバー |
| ALTER ANY(変えて) DATABASEEVENT NOTIFICATION | ALTER | "任意の EVENT NOTIFICATION を変更" |
| ALTER ANY(変えて) DATABASEEVENT SESSION 適用対象: Azure SQL データベース |
ALTER | "任意の EVENT SESSION を変更" |
| "任意の DATABASE SCOPED CONFIGURATION を変更" 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。 |
CONTROL | 制御サーバー |
| 任意のデータスペースを変更する | ALTER | 制御サーバー |
| "任意の EXTERNAL DATA SOURCE を変更" | ALTER | 制御サーバー |
| "任意の EXTERNAL FILE FORMAT を変更" | ALTER | 制御サーバー |
| "任意の EXTERNAL LIBRARY を変更" 適用対象: SQL Server 2017 (14.x) |
CONTROL | 制御サーバー |
| "任意の FULLTEXT CATALOG を変更" | ALTER | 制御サーバー |
| 任意のマスクを変更します。 | CONTROL | 制御サーバー |
| "任意の MESSAGE TYPE を変更" | ALTER | 制御サーバー |
| "任意の REMOTE SERVICE BINDING を変更" | ALTER | 制御サーバー |
| "任意の ROLE を変更" | ALTER | 制御サーバー |
| "任意の ROUTE を変更" | ALTER | 制御サーバー |
| "任意の SCHEMA を変更" | ALTER | 制御サーバー |
| "任意の SECURITY POLICY を変更" 適用対象: Azure SQL データベース |
CONTROL | 制御サーバー |
| "任意の SERVICE を変更" | ALTER | 制御サーバー |
| "任意の SYMMETRIC KEY を変更" | ALTER | 制御サーバー |
| "任意の USER を変更" | ALTER | 制御サーバー |
| AUTHENTICATE | CONTROL | サーバーの認証 |
| BACKUP DATABASE | CONTROL | 制御サーバー |
| BACKUP ログ | CONTROL | 制御サーバー |
| CHECKPOINT | CONTROL | 制御サーバー |
| CONNECT | コネクト・レプリケーション | 制御サーバー |
| コネクト・レプリケーション | CONTROL | 制御サーバー |
| CONTROL | CONTROL | 制御サーバー |
| CREATE AGGREGATE | ALTER | 制御サーバー |
| CREATE ASSEMBLY | "任意の ASSEMBLY を変更" | 制御サーバー |
| CREATE ASYMMETRIC KEY | "任意の ASYMMETRIC KEY を変更" | 制御サーバー |
| CREATE CERTIFICATE | "任意の CERTIFICATE を変更" | 制御サーバー |
| CREATE CONTRACT | "任意の CONTRACT を変更" | 制御サーバー |
| CREATE DATABASE | CONTROL | 何でも作成してください DATABASE |
| CREATE DATABASE Ddl EVENT NOTIFICATION | ALTER ANY(変えて) DATABASEEVENT NOTIFICATION | DDLを作成 EVENT NOTIFICATION |
| CREATE DEFAULT | ALTER | 制御サーバー |
| CREATE FULLTEXT CATALOG | "任意の FULLTEXT CATALOG を変更" | 制御サーバー |
| CREATE FUNCTION | ALTER | 制御サーバー |
| CREATE MESSAGE TYPE | "任意の MESSAGE TYPE を変更" | 制御サーバー |
| CREATE PROCEDURE | ALTER | 制御サーバー |
| CREATE QUEUE | ALTER | 制御サーバー |
| CREATE REMOTE SERVICE BINDING | "任意の REMOTE SERVICE BINDING を変更" | 制御サーバー |
| CREATE ROLE | "任意の ROLE を変更" | 制御サーバー |
| CREATE ROUTE | "任意の ROUTE を変更" | 制御サーバー |
| CREATE RULE | ALTER | 制御サーバー |
| CREATE SCHEMA | "任意の SCHEMA を変更" | 制御サーバー |
| CREATE SERVICE | "任意の SERVICE を変更" | 制御サーバー |
| CREATE SYMMETRIC KEY | "任意の SYMMETRIC KEY を変更" | 制御サーバー |
| CREATE SYNONYM | ALTER | 制御サーバー |
| CREATE TABLE | ALTER | 制御サーバー |
| CREATE TYPE | ALTER | 制御サーバー |
| CREATE VIEW | ALTER | 制御サーバー |
| CREATE XML SCHEMA COLLECTION | ALTER | 制御サーバー |
| DELETE | CONTROL | 制御サーバー |
| EXECUTE | CONTROL | 制御サーバー |
| EXECUTE ANY EXTERNAL SCRIPT 適用対象: SQL Server 2016 (13.x) |
CONTROL | 制御サーバー |
| INSERT | CONTROL | 制御サーバー |
| 接続 DATABASE 切断 適用対象: Azure SQL データベース |
CONTROL | 任意の接続を変更する |
| REFERENCES | CONTROL | 制御サーバー |
| SELECT | CONTROL | 制御サーバー |
| SHOWPLAN | CONTROL | ALTER TRACE(トレースの変更権限) |
| クエリ通知をサブスクライブする | CONTROL | 制御サーバー |
| 所有権 | CONTROL | 制御サーバー |
| UNMASK | CONTROL | 制御サーバー |
| UPDATE | CONTROL | 制御サーバー |
| VIEW 任意の COLUMN ENCRYPTION KEY 定義 | CONTROL | VIEW 任意の定義 |
| VIEW 任意の COLUMN MASTER KEY 定義 | CONTROL | VIEW 任意の定義 |
| VIEW DATABASE 州 | CONTROL | VIEW サーバーの状態 |
| VIEW 定義 | CONTROL | VIEW 任意の定義 |
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. カスケードによる VIEW 定義の撤回
次の例では、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)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)