DENY 架构权限 (Transact-SQL)

拒绝授予架构权限。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

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

参数

  • permission
    指定可拒绝授予架构的权限。 有关这些权限的列表,请参阅本主题后面的“备注”部分。

  • ON SCHEMA :: schema_name
    指定拒绝将其权限授予他人的架构。 需要范围限定符 ::

  • database_principal
    指定要拒绝权限的主体。 database_principal 可以是下列选项之一:

    • 数据库用户

    • 数据库角色

    • 应用程序角色

    • 映射到 Windows 登录名的数据库用户

    • 映射到 Windows 组的数据库用户

    • 映射到证书的数据库用户

    • 映射到非对称密钥的数据库用户

    • 未映射到服务器主体的数据库用户

  • CASCADE
    指示要拒绝的权限也会被对此主体授予该权限的其他主体拒绝。

  • 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)

概念

权限(数据库引擎)

主体(数据库引擎)