Partilhar via


Permissões do Tipo GRANT (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Concede permissões a um tipo.

Transact-SQL convenções de sintaxe

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  

Arguments

Permissão
Especifica uma permissão que pode ser concedida sobre um tipo. Para uma lista das permissões, consulte a secção de Observações mais adiante neste tópico.

NO TEXTO :: [ schema_name. ] type_name
Especifica o tipo em que a autorização está a ser concedida. O qualificador de âmbito (::) é obrigatório. Se schema_name não for especificado, será utilizado o esquema padrão. Se schema_name for especificado, é necessário o qualificador do âmbito do esquema (.).

TO <database_principal> Especifica o principal a quem a permissão está a ser concedida.

COM OPÇÃO DE SUBVENÇÃO
Indica que o diretor 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 o seu direito de conceder a permissão.

Database_user
Especifica um utilizador da base de dados.

Database_role
Especifica um papel numa base de dados.

Application_role
Aplica-se a: SQL Server 2008 (10.0.x) e posterior, SQL Database

Especifica uma função de candidatura.

Database_user_mapped_to_Windows_User
Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores

Especifica um utilizador de base de dados mapeado para um utilizador Windows.

Database_user_mapped_to_Windows_Group
Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores

Especifica um utilizador de base de dados mapeado para um grupo Windows.

Database_user_mapped_to_certificate
Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores

Especifica um utilizador de base de dados mapeado para um certificado.

Database_user_mapped_to_asymmetric_key
Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores

Especifica um utilizador de base de dados mapeado para uma chave assimétrica.

Database_user_with_no_login
Especifica um utilizador de base de dados sem um principal correspondente ao nível do servidor.

Observações

Um tipo é um securável ao nível do esquema contido pelo esquema que é o seu pai na hierarquia de permissões.

Importante

Permissões CONCEDER, NEGAR e REVOGAR não se aplicam aos tipos de sistema. Tipos definidos pelo utilizador podem receber permissões. Para mais informações sobre tipos definidos pelo utilizador, consulte Trabalhar com Tipos de User-Defined no SQL Server.

As permissões mais específicas e limitadas que podem ser concedidas a um tipo estão listadas na tabela seguinte, juntamente com as permissões mais gerais que as incluem por implicação.

Permissão de digitação Implícito por permissão de tipo Implícito pela permissão do esquema
CONTROL CONTROL CONTROL
EXECUTE CONTROL EXECUTE
REFERENCES CONTROL REFERENCES
ASSUMIR A RESPONSABILIDADE CONTROL CONTROL
VER DEFINIÇÃO CONTROL VER DEFINIÇÃO

Permissions

O concedente (ou o principal especificado com a opção AS) deve ter ou a própria permissão com a CONCESSÃO OPTION, ou uma permissão superior que implique a concessão da autorização.

Se estiver a usar a opção AS, aplicam-se os seguintes requisitos adicionais.

COMO Permissão adicional necessária
Utilizador da base de dados PERSONAGEM de permissão sobre o utilizador, pertença ao papel fixo de base de dados db_securityadmin, pertença ao papel fixo de base de dados db_owner, ou pertença ao papel fixo de administrador do sistema.
Utilizador da base de dados mapeado para um login Windows PERSONAGEM de permissão sobre o utilizador, pertença ao papel fixo de base de dados db_securityadmin, pertença ao papel fixo de base de dados db_owner, ou pertença ao papel fixo de administrador do sistema.
Utilizador da base de dados mapeado para um grupo Windows A pertença ao grupo Windows, à db_securityadmin função fixa de base de dados, à db_owner função fixa de base de dados, ou à função fixa de sysadmin .
Utilizador da base de dados mapeado para um certificado A pertença ao papel fixo de base de dados db_securityadmin, ao papel fixo de base de dados db_owner ou ao papel fixo de administrador de sistemas.
Utilizador da base de dados mapeado para uma chave assimétrica A pertença ao papel fixo de base de dados db_securityadmin, ao papel fixo de base de dados db_owner ou ao papel fixo de administrador de sistemas.
Utilizador da base de dados não mapeado para nenhum servidor principal PERSONAGEM de permissão sobre o utilizador, pertença ao papel fixo de base de dados db_securityadmin, pertença ao papel fixo de base de dados db_owner, ou pertença ao papel fixo de administrador do sistema.
Função de banco de dados Permissão ALTER no papel, pertença ao papel fixo de base de dados db_securityadmin , pertença ao papel db_owner fixo na base de dados, ou pertença ao papel de servidor fixo de sysadmin .
Função da aplicação Permissão ALTER no papel, pertença ao papel fixo de base de dados db_securityadmin , pertença ao papel db_owner fixo na base de dados, ou pertença ao papel de servidor fixo de sysadmin .

Examples

O exemplo seguinte concede VIEW DEFINITION permissão com GRANT OPTION no tipo PhoneNumber definido pelo utilizador ao utilizador KhalidR. PhoneNumber está localizado no esquema Telemarketing.

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

Ver também

NEGAR permissões de tipo (Transact-SQL)
REVOGAR Permissões de Tipo (Transact-SQL)
CRIAR TIPO (Transact-SQL)
Permissões (Motor de Base de Dados)
Securables
Principais (Motor de Base de Dados)