适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
拒绝授予架构权限。
Syntax
DENY permission [ ,...n ] } ON SCHEMA :: schema_name
TO database_principal [ ,...n ]
[ CASCADE ]
[ AS denying_principal ]
Arguments
permission
指定可拒绝授予架构的权限。 有关这些权限的列表,请参阅本文后面的“备注”部分。
ON SCHEMA :: schema*_name*
指定权限在其中被拒绝的架构。 需要使用作用域限定符 ::。
database_principal
指定对其拒绝权限的主体。
database_principal 可以为以下主体之一:
- Database user
- Database role
- Application role
- 映射到 Windows 登录名的数据库用户
- 映射到 Windows 组的数据库用户
- 映射到证书的数据库用户
- 映射到非对称密钥的数据库用户
- 未映射到服务器主体的数据库用户
CASCADE
对指定 database_principal 授予权限的任何其他主体拒绝授予权限。
denying_principal
指定一个主体,执行该查询的主体从该主体获得拒绝授予该权限的权利。
denying_principal 可以为以下主体之一:
- Database user
- Database role
- Application role
- 映射到 Windows 登录名的数据库用户
- 映射到 Windows 组的数据库用户
- 映射到证书的数据库用户
- 映射到非对称密钥的数据库用户
- 未映射到服务器主体的数据库用户
Remarks
架构是数据库级别的安全对象。 它由权限层次结构中属于其父级的数据库进行约束。 下表列出了可在架构上拒绝的最为具体的限定权限。 该表显示通过暗示包含它们的更一般的权限。
| Schema permission | 架构权限隐含的权限 | 数据库权限隐含的权限 |
|---|---|---|
| ALTER | CONTROL | 更改任何架构 |
| CONTROL | CONTROL | CONTROL |
| CREATE SEQUENCE | ALTER | 更改任何架构 |
| DELETE | CONTROL | DELETE |
| EXECUTE | CONTROL | EXECUTE |
| INSERT | CONTROL | INSERT |
| REFERENCES | CONTROL | REFERENCES |
| SELECT | CONTROL | SELECT |
| TAKE OWNERSHIP | CONTROL | CONTROL |
| UPDATE | CONTROL | UPDATE |
| 查看更改跟踪 | CONTROL | CONTROL |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Permissions
需要对架构具有 CONTROL 权限。 如果要使用 AS 选项,则指定的主体必须拥有架构。
See Also
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)