Permissões de tipo DENY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Nega permissões em um tipo no SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

DENY permission  [ ,...n ] ON TYPE :: [ schema_name . ] type_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  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

permission
Especifica uma permissão que pode ser negada 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 no qual a permissão está sendo negada. 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á obrigatório.

TO <database_principal>
Especifica a entidade à qual a permissão está sendo negada.

CASCADE
Indica que a permissão que está sendo negada também é negada a outros principais aos quais ela foi concedida por esse principal.

AS <database_principal>
Especifica uma entidade de segurança da qual a entidade de segurança que executa essa consulta deriva seu direito de negar 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

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, veja Trabalhando com tipos definidos pelo usuário no SQL Server.

As permissões mais específicas e limitadas que podem ser negadas em um tipo são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem 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

Requer a permissão CONTROL no tipo. Se a cláusula AS for usada, a entidade especificada deverá ser proprietária do tipo no qual as permissões estão sendo negadas.

Exemplos

O exemplo a seguir nega a permissão VIEW DEFINITION com CASCADE no tipo PhoneNumber definido pelo usuário ao KhalidR. PhoneNumber está localizado no esquema Telemarketing.

DENY VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber   
    TO KhalidR CASCADE;  
GO  

Consulte Também

Permissões de tipo GRANT (Transact-SQL)
Permissões de tipo REVOKE (Transact-SQL)
CREATE TYPE (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
Permissões (Mecanismo de Banco de Dados)
Protegíveis