DENY (Transact-SQL)

Nega uma permissão a um principal. Impede o principal de herdar a permissão através das suas associações de grupo ou de função.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

Simplified syntax for DENY
DENY { ALL [ PRIVILEGES ] }
      | permission [ ( column [ ,...n ] ) ] [ ,...n ]
      [ ON [ class :: ] securable ] TO principal [ ,...n ] 
      [ CASCADE] [ AS principal ]

Argumentos

  • ALL
    Esta opção não nega todas as permissões possíveis. Negar ALL é equivalente a negar as permissões a seguir.

    • Se o protegível for um banco de dados, ALL será equivalente a BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.

    • Se o protegível for uma função escalar, ALL será equivalente a EXECUTE e REFERENCES.

    • Se o protegível for uma função com valor de tabela, ALL será equivalente a DELETE, INSERT, REFERENCES, SELECT e UPDATE.

    • Se o protegível for um procedimento armazenado, ALL será equivalente a EXECUTE.

    • Se o protegível for uma tabela, ALL será equivalente a DELETE, INSERT, REFERENCES, SELECT e UPDATE.

    • Se o protegível for uma exibição, ALL será equivalente a DELETE, INSERT, REFERENCES, SELECT e UPDATE.

    ObservaçãoObservação

    A sintaxe DENY ALL é preterida. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Negue as permissões específicas em vez disso.

  • PRIVILEGES
    Incluído para conformidade com ISO. Não altera o comportamento de ALL.

  • permission
    É o nome de uma permissão. Os mapeamentos válidos de permissões para protegíveis são descritos nos subtópicos listados a seguir.

  • column
    Especifica o nome de uma coluna em uma tabela na qual as permissões estão sendo negadas. Os parênteses "()" são necessários.

  • class
    Especifica a classe do protegível na qual a permissão está sendo negada. O qualificador de escopo "::" é necessário.

  • securable
    Especifica o protegível no qual a permissão está sendo negada.

  • TO principal
    É o nome de uma entidade. Os principais para os quais as permissões em um protegível podem ser negadas variam, dependendo do protegível. Consulte os tópicos específicos sobre protegíveis listados a seguir para obter as combinações válidas.

  • CASCADE
    Indica que a permissão está sendo negada para o principal especificado e todos os outros principais aos quais o principal concedeu a permissão. Necessário quando o principal tem a permissão com GRANT OPTION.

  • AS principal
    Especifica um principal do qual o principal que executa esta instrução deriva seu direito de negar a permissão.

Comentários

A sintaxe completa da instrução DENY é complexa. O diagrama anterior foi simplificado para chamar a atenção para sua estrutura. A sintaxe completa para negar permissões em protegíveis específicos é descrita nos tópicos listados a seguir.

DENY falhará se CASCADE não for especificado ao negar uma permissão a um principal ao qual ela foi concedida com GRANT OPTION especificado.

O procedimento armazenado do sistema sp_helprotect relata as permissões em um protegível no nível de banco de dados.

Observação sobre cuidadosCuidado

Um DENY em nível de tabela não tem precedência sobre um GRANT em nível de coluna. Essa inconsistência na hierarquia de permissões foi preservada para manter a compatibilidade com versões anteriores. Ela será removida em uma versão futura.

Observação sobre cuidadosCuidado

Negar a permissão CONTROL em um banco de dados implicitamente nega a permissão CONNECT no banco de dados. Um principal ao qual é negada a permissão CONTROL em um banco de dados não poderá se conectar a esse banco de dados.

Observação sobre cuidadosCuidado

Negar a permissão CONTROL SERVER implicitamente nega a permissão CONNECT SQL no servidor. Um principal ao qual é negada a permissão CONTROL SERVER em um servidor não poderá se conectar a esse servidor.

Permissões

O chamador (ou o principal especificado com a opção AS) deve ter a permissão CONTROL no protegível ou uma permissão superior que indica a permissão CONTROL no protegível. Se usar a cláusula AS, o principal especificado deverá ser proprietário do protegível no qual uma permissão está sendo negada.

Os usuários autorizados da permissão CONTROL SERVER, como os membros da função de servidor fixa sysadmin, podem negar qualquer permissão em qualquer protegível do servidor. Os usuários autorizados da permissão CONTROL no banco de dados, como os membros da função de banco de dados fixa db_owner, podem negar qualquer permissão em qualquer protegível no banco de dados. Os usuários autorizados da permissão CONTROL em um esquema podem negar qualquer permissão no esquema. Se a cláusula AS for usada, o principal especificado deverá ser proprietário do protegível no qual as permissões estão sendo negadas.

Exemplos

A tabela a seguir lista os protegíveis e os tópicos que descrevem a sintaxe específica a protegíveis.

Função de aplicativo

Permissões de principal do banco de dados DENY (Transact-SQL)

Assembly

Permissões de assembly DENY (Transact-SQL)

Chave assimétrica

Permissões de chave assimétrica DENY (Transact-SQL)

Certificate

Permissões de certificado DENY (Transact-SQL)

Contrato

Permissões DENY do Service Broker (Transact-SQL)

Banco de dados

Permissões de banco de dados DENY (Transact-SQL)

Endpoint

Permissões de ponto de extremidade DENY (Transact-SQL)

Catálogo de texto completo

Permissões de texto completo DENY (Transact-SQL)

Lista de palavras irrelevantes de texto completo

Permissões de texto completo DENY (Transact-SQL)

Função

Permissões de objeto DENY (Transact-SQL)

Logon

Permissões de principal do servidor DENY (Transact-SQL)

Tipo de mensagem

Permissões DENY do Service Broker (Transact-SQL)

Objeto

Permissões de objeto DENY (Transact-SQL)

Fila

Permissões de objeto DENY (Transact-SQL)

Associação de serviço remoto

Permissões DENY do Service Broker (Transact-SQL)

Função

Permissões de principal do banco de dados DENY (Transact-SQL)

Rota

Permissões DENY do Service Broker (Transact-SQL)

Schema

Permissões de esquema DENY (Transact-SQL)

Servidor

Permissões de servidor DENY (Transact-SQL)

Serviço

Permissões DENY do Service Broker (Transact-SQL)

Procedimento armazenado

Permissões de objeto DENY (Transact-SQL)

Chave simétrica

Permissões de chave simétrica DENY (Transact-SQL)

Sinônimo

Permissões de objeto DENY (Transact-SQL)

Objetos do sistema

Permissões de objeto do sistema DENY (Transact-SQL)

Tabela

Permissões de objeto DENY (Transact-SQL)

Tipo

Permissões de tipo DENY (Transact-SQL)

User

Permissões de principal do banco de dados DENY (Transact-SQL)

Exibir

Permissões de objeto DENY (Transact-SQL)

Coleção de esquema XML

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