Permissões de tipo DENY (Transact-SQL)

Nega permissões em um tipo.

Ícone de vínculo de tópicoConvenções de sintaxe 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

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 (::) é 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.

  • 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 outras entidades às quais ela foi concedida por esta entidade.

  • AS <database_principal>
    Especifica uma entidade da qual aquela que executa esta 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 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.

Observação importanteImportante

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 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ícita 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 definido pelo usuário PhoneNumber ao usuário KhalidR. PhoneNumber está localizado no esquema Telemarketing.

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