Partilhar via


REVOGAR (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Remove uma permissão concedida ou negada anteriormente.

Transact-SQL convenções de sintaxe

Syntax

Sintaxe para SQL Server, Banco de Dados SQL do Azure e Banco de Dados SQL de Malha

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

Sintaxe do Azure Synapse Analytics, Parallel Data Warehouse e Microsoft Fabric warehouse

REVOKE
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

OPÇÃO DE SUBVENÇÃO PARA
Indica que a capacidade de conceder a permissão especificada será revogada. Isso é necessário quando você está usando o argumento CASCADE.

Important

Se a entidade de segurança tiver a permissão especificada sem a opção GRANT, a própria permissão será revogada.

ALL
Aplica-se a: SQL Server 2008 (10.0.x) e posterior

Esta opção não revoga todas as permissões possíveis. Revogar ALL equivale a revogar as seguintes permissões.

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

  • Se o securable é uma função escalar, ALL significa EXECUTAR e REFERÊNCIAS.

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

  • Se o protegível for um procedimento armazenado, ALL significa EXECUTAR.

  • Se o protegível for uma tabela, ALL significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.

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

Note

A sintaxe REVOKE ALL foi preterida. Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Em vez disso, revogue permissões específicas.

PRIVILEGES
Incluído para conformidade ISO. Não altera o comportamento da 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 de protegíveis , mais adiante neste tópico.

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

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

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

ATÉ | DO principal
É o nome de uma entidade de segurança. Os princípios dos quais as 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 protegível mais adiante neste tópico.

CASCADE
Indica que a permissão que está sendo revogada também é revogada de outras entidades às quais foi concedida por essa entidade de segurança. Ao usar o argumento CASCADE, você também deve incluir o argumento GRANT OPTION FOR.

Caution

Uma revogação em cascata de uma permissão concedida COM OPÇÃO DE CONCESSÃO revogará GRANT e DENY dessa permissão.

Diretor AS
Use a cláusula principal AS para indicar que você está revogando uma permissão que foi concedida por uma entidade de segurança diferente de você. Por exemplo, presume que o usuário Mary tem principal_id 12 e o usuário Raul é principal_id 15. Tanto Mary quanto Raul concedem a um usuário chamado Steven a mesma permissão. A tabela sys.database_permissions indicará as permissões duas vezes, mas cada uma delas terá um valor de grantor_principal_id diferente. Maria poderia revogar a permissão usando a AS RAUL cláusula para remover a concessão da permissão por Raul.

O uso de AS nesta declaração não implica a capacidade de se passar por outro usuário.

Remarks

A sintaxe completa da instrução REVOKE é complexa. O diagrama de sintaxe acima foi simplificado para chamar a atenção para a sua estrutura. A sintaxe completa para revogar permissões em protegíveis específicos é descrita nos tópicos listados em Sintaxe específica de protegíveis 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 impedir que uma entidade obtenha uma permissão específica por meio de uma GRANT.

Conceder uma permissão remove DENY ou REVOKE dessa permissão no protegível especificado. Se a mesma permissão for negada em um escopo mais alto que contenha o protegível, o DENY terá precedência. No entanto, a revogação da autorização concedida num âmbito superior não tem precedência.

Caution

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

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

A instrução REVOKE falhará se CASCADE não for especificado quando você estiver revogando uma permissão de uma entidade de segurança que recebeu essa permissão com GRANT OPTION especificado.

Permissions

Os principais com permissão CONTROL em um protegível podem revogar a permissão nesse protegível. Os proprietários de objetos podem revogar permissões nos objetos que possuem.

Os beneficiários da permissão CONTROL SERVER, como membros da função de servidor fixa sysadmin, podem revogar qualquer permissão em qualquer protegível no servidor. Os beneficiários da permissão CONTROL em um banco de dados, como membros da função de banco de dados fixa db_owner, podem revogar qualquer permissão em qualquer protegível no banco de dados. Os beneficiários da permissão CONTROL em um esquema podem revogar qualquer permissão em qualquer objeto dentro do esquema.

Sintaxe específica do seguro

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

Securable Topic
Função de Aplicação REVOKE Permissões Principal do Banco de Dados (Transact-SQL)
Assembly REVOGAR Permissões de Assembly (Transact-SQL)
Chave assimétrica REVOGAR permissões de chave assimétrica (Transact-SQL)
Grupo de Disponibilidade REVOKE Availability Group Permissões (Transact-SQL)
Certificate REVOGAR Permissões de Certificado (Transact-SQL)
Contract REVOKE Service Broker Permissões (Transact-SQL)
Database Permissões de banco de dados REVOKE (Transact-SQL)
Endpoint REVOKE Permissões de ponto final (Transact-SQL)
Credencial com escopo de banco de dados Credencial com escopo do banco de dados REVOKE (Transact-SQL)
Catálogo de Texto Completo REVOGAR Full-Text Permissões (Transact-SQL)
Full-Text Lista de Paradas REVOGAR Full-Text Permissões (Transact-SQL)
Function Permissões de objeto REVOKE (Transact-SQL)
Login REVOCAR permissões do Principal do Servidor (Transact-SQL)
Tipo de mensagem REVOKE Service Broker Permissões (Transact-SQL)
Object Permissões de objeto REVOKE (Transact-SQL)
Queue Permissões de objeto REVOKE (Transact-SQL)
Vinculação de serviço remoto REVOKE Service Broker Permissões (Transact-SQL)
Role REVOKE Permissões Principal do Banco de Dados (Transact-SQL)
Route REVOKE Service Broker Permissões (Transact-SQL)
Schema Permissões de esquema REVOKE (Transact-SQL)
Pesquisar Lista de Propriedades REVOKE Pesquisar permissões de lista de propriedades (Transact-SQL)
Server REVOGAR permissões do servidor (Transact-SQL)
Service REVOKE Service Broker Permissões (Transact-SQL)
Procedimento armazenado Permissões de objeto REVOKE (Transact-SQL)
Chave Simétrica REVOGAR permissões de chave simétrica (Transact-SQL)
Synonym Permissões de objeto REVOKE (Transact-SQL)
Objetos do sistema REVOGAR Permissões de Objetos do Sistema (Transact-SQL)
Table Permissões de objeto REVOKE (Transact-SQL)
Tipo Permissões de tipo REVOKE (Transact-SQL)
User REVOKE Permissões Principal do Banco de Dados (Transact-SQL)
View Permissões de objeto REVOKE (Transact-SQL)
Coleção de esquema XML REVOKE XML Schema Collection Permissões (Transact-SQL)

Examples

A. Conceder e revogar

Aplica-se a: SQL Server, Banco de Dados SQL

O exemplo a seguir cria um esquema, um usuário de banco de dados contido e uma nova função em um banco de dados de usuário. Ele adiciona o usuário à função, concede permissão SELECT no esquema à função e, em seguida, remove (REVOKE) essa permissão para a função.

CREATE SCHEMA Sales;  
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe; 
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
 

Ver também

Hierarquia de permissões (Mecanismo de Banco de Dados)
NEGAR (Transact-SQL)
SUBVENÇÃO (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)