Compartilhar via


Permissões de tipo GRANT (Transact-SQL)

Concede permissões em um tipo.

Aplica-se a: SQL Server (do SQL Server 2008 à versão atual), Banco de dados SQL do Windows Azure (da versão inicial até a versão atual).

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

GRANT permission  [ ,...n ] ON TYPE :: [ schema_name . ] type_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 um tipo. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.

  • ON TYPE :: [ schema_name**.** ] type_name
    Especifica o tipo em que a permissão está sendo concedida. O qualificador de escopo (::) é obrigató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.

  • TO <database_principal>
    Especifica a entidade de segurança à qual a permissão está sendo concedida.

  • WITH GRANT OPTION
    Indica que a entidade de segurança também terá a capacidade de conceder a permissão especificada a outras entidades de segurança.

  • AS <database_principal>
    Especifica uma entidade de segurança da qual a entidade de segurança que executa essa 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

    Aplica-se a: do SQL Server 2008 ao SQL Server 2014.

    Especifica uma função de aplicativo.

  • Database_user_mapped_to_Windows_User

    Aplica-se a: do SQL Server 2008 ao SQL Server 2014.

    Especifica um usuário do banco de dados mapeado para um usuário do Windows.

  • Database_user_mapped_to_Windows_Group

    Aplica-se a: do SQL Server 2008 ao SQL Server 2014.

    Especifica um usuário do banco de dados mapeado para um grupo do Windows.

  • Database_user_mapped_to_certificate

    Aplica-se a: do SQL Server 2008 ao SQL Server 2014.

    Especifica um usuário do banco de dados mapeado para um certificado.

  • Database_user_mapped_to_asymmetric_key

    Aplica-se a: do SQL Server 2008 ao SQL Server 2014.

    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

Um tipo é um protegível no nível de esquema contido no esquema pai na hierarquia de permissões.

Importante

As permissões GRANT, DENY, e REVOKE não se aplicam a tipos de sistema.Podem ser concedidas permissões a tipos definidos pelo usuário.Para obter mais informações sobre tipos definidos pelo usuário, consulte Trabalhando com tipos de dados definidos pelo usuário no SQL Server.

As permissões mais específicas e limitadas que podem ser concedidas em um tipo são listadas na tabela a seguir, junto com as permissões mais gerais que as contêm implicitamente.

Tipo de permissão

Implícita na permissão de tipo

Implícito na permissão de esquema

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 implicitamente a permissão que está sendo concedida.

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 nenhuma entidade de segurança 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 VIEW DEFINITION com GRANT OPTION no tipo PhoneNumber definido pelo usuário ao usuário KhalidR. PhoneNumber está localizado no esquema Telemarketing.

GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber 
    TO KhalidR WITH GRANT OPTION;
GO

Consulte também

Referência

Permissões de tipo DENY (Transact-SQL)

Permissões de tipo REVOKE (Transact-SQL)

CREATE TYPE (Transact-SQL)

Conceitos

Permissões (Mecanismo de Banco de Dados)

Protegíveis

Entidades (Mecanismo de Banco de Dados)