適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の 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)