DENY (サーバーの権限の拒否) (Transact-SQL)
サーバーの権限を拒否します。
構文
DENY permission [ ,...n ]
TO <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
サーバーで拒否できる権限を指定します。権限の一覧については、後の「解説」を参照してください。
- CASCADE
このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。
- TO <server_principal>
権限を拒否するプリンシパルを指定します。
- AS <grantor_principal>
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元のプリンシパルを指定します。
- 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 のときだけです。
サーバー権限に関する情報は 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 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 権限またはセキュリティ保護可能なリソースの所有権が必要です。AS 句を使用する場合、指定されたプリンシパルは、権限が拒否されるセキュリティ保護可能なリソースを所有している必要があります。
例
A. SQL Server ログインと、このログインが権限を許可したプリンシパルに対して CONNECT SQL 権限を拒否する
次の例では、SQL Server ログイン Annika
と、このログインが権限を許可したプリンシパルに対して、CONNECT SQL
権限を拒否します。
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. AS オプションを使用して、SQL Server ログインに対し CREATE ENDPOINT 権限を拒否する
次の例では、ユーザー ArifS
に対して CREATE ENDPOINT
権限を拒否します。この例では AS
句を使用して、このステートメントを実行するプリンシパルに権限を許可した、元のプリンシパルとして MandarP
を指定します。
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
参照
関連項目
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY (サーバーの権限の拒否) (Transact-SQL)
REVOKE (サーバーの権限の取り消し) (Transact-SQL)