DENY (スキーマ権限の拒否) (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

スキーマの権限を拒否します。

Transact-SQL 構文表記規則

構文

DENY permission  [ ,...n ] } ON SCHEMA :: schema_name  
    TO database_principal [ ,...n ]   
    [ CASCADE ]  
        [ AS denying_principal ]  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

permission
スキーマで拒否できる権限を指定します。 これらの権限の一覧については、後の「解説」を参照してください。

ON SCHEMA :: schema*_name*
権限を拒否するスキーマを指定します。 スコープ修飾子 :: が必要です。

database_principal
権限を拒否するプリンシパルを指定します。 database_principal には、次のいずれかのプリンシパルを指定することができます。

  • データベース ユーザー
  • データベース ロール
  • アプリケーション ロール
  • Windows ログインにマップされているデータベース ユーザー
  • Windows グループにマップされているデータベース ユーザー
  • 証明書にマップされているデータベース ユーザー
  • 非対称キーにマップされているデータベース ユーザー
  • サーバー プリンシパルにマップされていないデータベース ユーザー

CASCADE
指定した database_principal によって権限が付与された他のプリンシパルに対する権限を拒否します。

denying_principal
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元のプリンシパルを指定します。 denying_principal には、次のいずれかのプリンシパルを指定することができます。

  • データベース ユーザー
  • データベース ロール
  • アプリケーション ロール
  • Windows ログインにマップされているデータベース ユーザー
  • Windows グループにマップされているデータベース ユーザー
  • 証明書にマップされているデータベース ユーザー
  • 非対称キーにマップされているデータベース ユーザー
  • サーバー プリンシパルにマップされていないデータベース ユーザー

注釈

スキーマは、データベース レベルでセキュリティ保護可能です。 権限の階層で親となっているデータベースに含まれています。 次の表に、スキーマで拒否できる最も限定的で制限された権限を示します。 それらを暗黙的に含む、より全般的な権限を次の表に示します。

スキーマ権限 権限が含まれるスキーマ権限 権限が含まれるデータベース権限
ALTER CONTROL ALTER ANY SCHEMA
CONTROL CONTROL CONTROL
CREATE SEQUENCE ALTER ALTER ANY SCHEMA
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
REFERENCES CONTROL REFERENCES
SELECT CONTROL SELECT
TAKE OWNERSHIP CONTROL CONTROL
UPDATE CONTROL UPDATE
VIEW CHANGE TRACKING CONTROL CONTROL
VIEW DEFINITION CONTROL VIEW DEFINITION

アクセス許可

スキーマに対する CONTROL 権限が必要です。 AS オプションを使用する場合、指定するプリンシパルはスキーマを所有している必要があります。

参照

CREATE SCHEMA (Transact-SQL)
DENY (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)