REVOKE (Transact-SQL)

Remove uma permissão concedida ou negada anteriormente.

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

Sintaxe

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

Argumentos

  • GRANT OPTION FOR
    Indica que a habilidade de conceder a permissão especificada será revogada. Isso é necessário quando você está usando o argumento CASCADE.

    Observação importanteImportante

    Se o principal tiver a permissão especificada sem a opção GRANT a própria permissão será revogada.

  • ALL
    Esta opção não revoga todas as permissões possíveis. A revogação ALL é equivalente a revogar as seguintes permissões.

    • 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 de REVOKE 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. Em vez disso, revogue permissões específicas.

  • 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 tópicos listados em Sintaxe específica a protegível mais adiante neste tópico.

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

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

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

  • TO | FROM principal
    É o nome de uma entidade. As entidades das quais permissões em um protegível podem ser revogadas variam, dependendo do protegível. Para obter mais informações sobre combinações válidas, consulte os tópicos listados em Sintaxe específica a protegível mais adiante neste tópico.

  • CASCADE
    Indica que a permissão que está sendo revogada também será revogada de outras entidades para as quais ela foi concedida por essa entidade. Ao usar o argumento CASCADE, você também deve incluir o argumento GRANT OPTION FOR.

    Observação sobre cuidadosCuidado

    A revogação em cascata de uma permissão WITH GRANT OPTION concedida revogará as opções GRANT e DENY dessa permissão.

  • AS principal
    Especifica um principal do qual o principal que executa esta consulta deriva seu direito de revogar a permissão.

Comentários

A sintaxe completa da instrução REVOKE é complexa. O diagrama de sintaxe anterior foi simplificado para chamar atenção para sua estrutura. A sintaxe completa para revogação de permissões em protegíveis específicos é descrita nos tópicos listados em Sintaxe específica a protegível mais adiante neste tópico.

A instrução REVOKE pode ser usada para remover permissões concedidas, e a instrução DENY pode ser usada para evitar que uma entidade ganhe uma permissão específica por meio de um GRANT.

A concessão de uma permissão remove DENY ou REVOKE daquela permissão no protegível especificado. Se a mesma permissão for negada a um escopo mais alto que contém o protegível, o DENY terá precedência. No entanto a revogação da permissão concedida em um escopo mais alto não tem precedência.

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 compatibilidade com versões anteriores. Ela será removida em uma versão futura.

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

A instrução REVOKE falhará se CASCADE não estiver especificado ao revogar uma permissão de uma entidade que recebeu aquela permissão com GRANT OPTION especificada.

Permissões

As entidades com a permissão CONTROL em um protegível podem revogar a permissão naquele protegível. Os proprietários de objetos podem revogar permissões nos objetos de sua propriedade.

Os usuários autorizados da permissão CONTROL SERVER, como os membros da função de servidor fixa sysadmin, podem revogar qualquer permissão em qualquer protegível do servidor. Os usuários autorizados da permissão CONTROL em um banco de dados, como os membros da função de banco de dados fixa db_owner, podem revogar qualquer permissão para qualquer item de segurança do banco de dados. Os usuários autorizados da permissão CONTROL em um esquema podem revogar qualquer permissão em qualquer objeto dentro do esquema.

Sintaxe específica a protegível

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

Protegível

Tópico

Função de aplicativo

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

Assembly

Permissões de assembly REVOKE (Transact-SQL)

Chave assimétrica

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

Certificate

Permissões de certificado REVOKE (Transact-SQL)

Contrato

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

Banco de dados

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

Endpoint

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

Catálogo de texto completo

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

Lista de palavras irrelevantes de texto completo

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

Função

Permissões de objeto REVOKE (Transact-SQL)

Logon

Permissões do principal do servidor REVOKE (Transact-SQL)

Tipo de mensagem

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

Objeto

Permissões de objeto REVOKE (Transact-SQL)

Fila

Permissões de objeto REVOKE (Transact-SQL)

Associação de serviço remoto

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

Função

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

Rota

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

Schema

Permissões de esquema REVOKE (Transact-SQL)

Servidor

Permissões de servidor REVOKE (Transact-SQL)

Serviço

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

Procedimento armazenado

Permissões de objeto REVOKE (Transact-SQL)

Chave simétrica

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

Sinônimo

Permissões de objeto REVOKE (Transact-SQL)

Objetos do sistema

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

Tabela

Permissões de objeto REVOKE (Transact-SQL)

Tipo

Permissões de tipo REVOKE (Transact-SQL)

User

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

Exibir

Permissões de objeto REVOKE (Transact-SQL)

Coleção de esquema XML

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