Compartilhar via


Permissões de coleção de esquema GRANT XML (Transact-SQL)

Concede permissões em uma coleção de esquemas XML.

Aplica-se a: SQL Server (SQL Server 2008 à versão atual).

Ícone de vínculo de tópico Convenções da sintaxe 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á necessário.

  • <database_principal>
    Especifica a entidade à 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 um principal do qual o principal que executa esta consulta deriva 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 nenhum principal correspondente no nível de servidor.

Comentários

As informações sobre coleções de esquemas XML são visíveis na exibição do catálogo sys.xml_schema_collections.

Uma coleção de esquemas XML é um protegível no nível de esquema contido no 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 à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à 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 à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para um grupo do Windows

Associação ao grupo do Windows, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para um certificado

Associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para uma chave assimétrica

Associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin.

Usuário de banco de dados não mapeado para nenhum principal de servidor

Permissão IMPERSONATE no usuário, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin.

Função de banco de dados

Permissão ALTER na função, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin.

Função de aplicativo

Permissão ALTER na função, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à 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 AdventureWorks2012.

USE AdventureWorks2012;

GRANT EXECUTE ON XML SCHEMA COLLECTION::Sales.Invoices4 TO Wanida;

GO

Consulte também

Referência

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)

Conceitos

Permissões (Mecanismo de Banco de Dados)

Entidades (Mecanismo de Banco de Dados)