DENY XML 架构集合权限 (Transact-SQL)
拒绝对 XML 架构集合的权限。
语法
DENY permission [ ,...n ] ON
XML SCHEMA COLLECTION :: [ schema_name . ]
XML_schema_collection_name
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
参数
permission
指定可对 XML 架构集合拒绝的权限。有关权限的列表,请参阅本主题后面的“备注”部分。ON XML SCHEMA COLLECTION :: [ schema_name**.] XML_schema_collection_name
指定要对其拒绝权限的 XML 架构集合。需要作用域限定符 ::。如果未指定 schema_name,则将使用默认架构。如果指定了 schema_name,则需要架构作用域限定符 (.**)。TO <database_principal>
指定要对其拒绝权限的主体。CASCADE
指示要拒绝的权限也会被对此主体授予该权限的其他主体拒绝。AS <database_principal>
指定执行此查询的主体要从哪个主体派生其拒绝该权限的权利。Database_user
指定数据库用户。Database_role
指定数据库角色。Application_role
指定应用程序角色。Database_user_mapped_to_Windows_User
指定映射到 Windows 用户的数据库用户。Database_user_mapped_to_Windows_Group
指定映射到 Windows 组的数据库用户。Database_user_mapped_to_certificate
指定映射到证书的数据库用户。Database_user_mapped_to_asymmetric_key
指定映射到非对称密钥的数据库用户。Database_user_with_no_login
指定无相应服务器级主体的数据库用户。
注释
可以在 sys.xml_schema_collections 目录视图中查看 XML 架构集合的有关信息。
XML 架构集合是架构级的安全对象,包含于权限层次结构中作为其父级的架构中。下表列出了可拒绝的对 XML 架构集合最为具体的限定权限,以及隐含这些权限的更为通用的权限。
XML 架构集合权限 |
XML 架构集合权限隐含的权限 |
架构权限隐含的权限 |
---|---|---|
ALTER |
CONTROL |
ALTER |
CONTROL |
CONTROL |
CONTROL |
EXECUTE |
CONTROL |
EXECUTE |
REFERENCES |
CONTROL |
REFERENCES |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
权限
要求对 XML 架构集合具有 CONTROL 权限。若要使用 AS 选项,则指定的主体必须拥有 XML 架构集合。
示例
以下示例拒绝用户 Wanida 对 XML 架构集合 Invoices4 的 EXECUTE 权限。XML 架构集合 Invoices4 位于 AdventureWorks 数据库的 Sales 架构中。
USE AdventureWorks;
DENY EXECUTE ON XML SCHEMA COLLECTION::Sales.Invoices4 TO Wanida;
GO