次の方法で共有


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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric の SQL データベース

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

Transact-SQL 構文表記規則

Syntax

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

Arguments

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

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

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

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

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

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

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

Remarks

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

スキーマ権限 権限が含まれるスキーマ権限 権限が含まれるデータベース権限
ALTER CONTROL 任意のスキーマを変更する
CONTROL CONTROL CONTROL
シーケンスを作成 ALTER 任意のスキーマを変更する
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
REFERENCES CONTROL REFERENCES
SELECT CONTROL SELECT
所有権 CONTROL CONTROL
UPDATE CONTROL UPDATE
変更の追跡を表示する CONTROL CONTROL
ビューの定義 CONTROL ビューの定義

Permissions

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

こちらもご覧ください

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