Permissões de coleção de esquema GRANT XML (Transact-SQL)
Aplica-se: SQL Server
Concede permissões em uma coleção de esquemas XML.
Convenções de sintaxe de Transact-SQL
Sintaxe
GRANT permission [ ,...n ] ON
XML SCHEMA COLLECTION :: [ schema_name . ]
XML_schema_collection_name
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ 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
Argumentos
permission
Especifica uma permissão que pode ser concedida em uma coleção de esquemas XML. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.
ON XML SCHEMA COLLECTION :: [ schema_name. ] XML_schema_collection_name
Especifica a coleção de esquemas XML na qual a permissão está sendo concedida. O qualificador de escopo (::) é necessário. Se schema_name não for especificado, o esquema padrão será usado. Se schema_name for especificado, o qualificador de escopo de esquema (.) será obrigatório.
<database_principal> Especifica a entidade de segurança para a qual a permissão está sendo concedida.
WITH GRANT OPTION
Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.
AS <database_principal> Especifica uma entidade de segurança por meio da qual a entidade de segurança que executa essa consulta obtém seu direito de conceder a permissão.
Database_user
Especifica um usuário do banco de dados.
Database_role
Especifica uma função de banco de dados.
Application_role
Especifica uma função de aplicativo.
Database_user_mapped_to_Windows_User
Especifica um usuário do banco de dados mapeado para um usuário do Windows.
Database_user_mapped_to_Windows_Group
Especifica um usuário do banco de dados mapeado para um grupo do Windows.
Database_user_mapped_to_certificate
Especifica um usuário do banco de dados mapeado para um certificado.
Database_user_mapped_to_asymmetric_key
Especifica um usuário do banco de dados mapeado para uma chave assimétrica.
Database_user_with_no_login
Especifica um usuário do banco de dados sem nenhuma entidade de segurança correspondente no nível de servidor.
Comentários
As informações sobre coleções de esquema XML são visíveis na exibição do catálogo sys.xml_schema_collections.
Uma coleção de esquema XML é um protegível em nível de esquema contido pelo esquema pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em uma coleção de esquemas XML são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
Permissão de coleção de esquema XML | Indicado pela permissão de coleção de esquema XML | Implícito na permissão de esquema |
---|---|---|
ALTER | CONTROL | ALTER |
CONTROL | CONTROL | CONTROL |
Execute | CONTROL | Execute |
REFERENCES | CONTROL | REFERENCES |
TAKE OWNERSHIP | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Permissões
O concessor (ou a entidade de segurança especificada com a opção AS) deve ter a própria permissão com GRANT OPTION ou uma permissão superior que tenha a permissão que está sendo concedida implícita.
Se você estiver usando a opção AS, os requisitos adicionais a seguir serão aplicáveis.
AS | Permissão adicional necessária |
---|---|
Usuário de banco de dados | Permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para um logon do Windows | Permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para um grupo do Windows | Associação no grupo do Windows, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para um certificado | Associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para uma chave assimétrica | Associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados não mapeado para nenhuma entidade de segurança de servidor | Permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Função de banco de dados | Permissão ALTER na função, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Função de aplicativo | Permissão ALTER na função, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Exemplos
O exemplo a seguir concede a permissão EXECUTE
na coleção de esquemas XML Invoices4
ao usuário Wanida
. A coleção de esquemas XML Invoices4
está localizada dentro do esquema Sales
do banco de dados AdventureWorks2022
.
USE AdventureWorks2022;
GRANT EXECUTE ON XML SCHEMA COLLECTION::Sales.Invoices4 TO Wanida;
GO
Consulte Também
Permissões DENY de coleção de esquema XML (Transact-SQL)
Permissões de coleção de esquema REVOKE XML (Transact-SQL)
sys.xml_schema_collections (Transact-SQL)
CREATE XML SCHEMA COLLECTION (Transact-SQL)
Permissões (Mecanismo de Banco de Dados)
Entidades (Mecanismo de Banco de Dados)