REVOKE (Transact-SQL)

Rimuove un'autorizzazione precedentemente assegnata o negata.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • GRANT OPTION FOR
    Indica che verrà revocata la capacità di concedere l'autorizzazione specificata. Argomento obbligatorio in caso di utilizzo dell'argomento CASCADE.

    Nota importanteImportante

    Se l'autorizzazione specificata è stata concessa all'entità senza l'opzione GRANT, l'autorizzazione stessa verrà revocata.

  • ALL
    Questa opzione non revoca tutte le possibili autorizzazioni. La revoca di autorizzazioni tramite l'argomento ALL equivale alla revoca delle autorizzazioni seguenti.

    • Se l'entità a protezione diretta è un database, ALL corrisponde a BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.

    • Se l'entità a protezione diretta è una funzione scalare, ALL corrisponde a EXECUTE e REFERENCES.

    • Se l'entità a protezione diretta è una funzione con valori di tabella, ALL corrisponde a DELETE, INSERT, REFERENCES, SELECT e UPDATE.

    • Se l'entità a protezione diretta è una stored procedure, ALL corrisponde a EXECUTE.

    • Se l'entità a protezione diretta è una tabella, ALL corrisponde a DELETE, INSERT, REFERENCES, SELECT e UPDATE.

    • Se l'entità a protezione diretta è una vista, ALL corrisponde a DELETE, INSERT, REFERENCES, SELECT e UPDATE.

    Nota

    La sintassi REVOKE ALL è deprecata. Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa caratteristica in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Revocare invece autorizzazioni specifiche.

  • PRIVILEGES
    Opzione inclusa per compatibilità con lo standard ISO. Non modifica il funzionamento di ALL.

  • permission
    Nome di un'autorizzazione. I mapping validi delle autorizzazioni alle entità a protezione diretta vengono descritti negli argomenti riportati nella sezione Sintassi specifica delle entità a protezione diretta di seguito in questo argomento.

  • column
    Specifica il nome di una colonna in una tabella alla quale vengono revocate le autorizzazioni. Le parentesi sono obbligatorie.

  • class
    Specifica la classe dell'entità a protezione diretta alla quale viene revocata l'autorizzazione. Il qualificatore di ambito :: è obbligatorio.

  • securable
    Specifica l'entità a protezione diretta a cui viene revocata l'autorizzazione.

  • TO | FROM principal
    Nome di un'entità. Le entità a cui è possibile revocare le autorizzazioni per un'entità a protezione diretta variano in base all'entità a protezione diretta specifica. Per ulteriori informazioni sulle combinazioni valide, vedere gli argomenti riportati nella sezione Sintassi specifica delle entità a protezione diretta di seguito in questo argomento.

  • CASCADE
    Indica che l'autorizzazione revocata viene revocata anche ad altre entità alle quali è stata concessa da questa entità. Se si utilizza l'argomento CASCADE, è inoltre necessario includere l'argomento GRANT OPTION FOR.

    Nota di attenzioneAttenzione

    La revoca propagata di un'autorizzazione concessa con WITH GRANT OPTION comporterà la revoca sia delle autorizzazioni GRANT che delle autorizzazioni DENY per tale autorizzazione.

  • AS principal
    Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di revocare l'autorizzazione.

Osservazioni

La sintassi completa dell'istruzione REVOKE è complessa. Il diagramma della sintassi precedente è stato semplificato per evidenziarne la struttura. La sintassi completa per la revoca di autorizzazioni per entità a protezione diretta specifiche viene descritta negli argomenti riportati nella sezione Sintassi specifica delle entità a protezione diretta di seguito in questo argomento.

È possibile utilizzare l'istruzione REVOKE per rimuovere le autorizzazioni concesse e l'istruzione DENY per negare un'autorizzazione specifica a un'entità anche in caso di esecuzione di un'istruzione GRANT.

La concessione di un'autorizzazione rimuove l'istruzione DENY o REVOKE di tale autorizzazione per l'entità a protezione diretta specificata. Se la stessa autorizzazione viene negata a un livello superiore e in tale livello è inclusa l'entità a protezione diretta, l'istruzione DENY ha la precedenza. Tuttavia, la revoca dell'autorizzazione concessa a un ambito superiore non ha la precedenza.

Nota di attenzioneAttenzione

Un'istruzione DENY a livello di tabella non ha la precedenza rispetto a un'istruzione GRANT a livello di colonna. Questa incongruenza nella gerarchia di autorizzazioni è stata mantenuta per compatibilità con le versioni precedenti e verrà rimossa in una versione futura.

La stored procedure di sistema sp_helprotect restituisce le autorizzazioni per un'entità a protezione diretta a livello di database.

L'istruzione REVOKE avrà esito negativo se l'argomento CASCADE viene omesso in caso di revoca a un'entità di un'autorizzazione concessa tramite GRANT OPTION.

Autorizzazioni

Le entità con l'autorizzazione CONTROL per un'entità a protezione diretta possono revocare l'autorizzazione per quella entità. I proprietari degli oggetti possono revocare autorizzazioni per gli oggetti di cui sono proprietari.

Gli utenti che dispongono dell'autorizzazione CONTROL SERVER, ad esempio i membri del ruolo predefinito del server sysadmin, possono revocare qualsiasi autorizzazione per qualsiasi entità a protezione diretta nel server. Gli utenti che dispongono dell'autorizzazione CONTROL in un database, ad esempio i membri del ruolo predefinito del database db_owner, possono revocare qualsiasi autorizzazione per qualsiasi entità a protezione diretta nel database. Gli utenti che dispongono dell'autorizzazione CONTROL in uno schema possono revocare qualsiasi autorizzazione per qualsiasi oggetto all'interno dello schema.

Sintassi specifica delle entità a protezione diretta

Nella tabella seguente vengono elencate le entità a protezione diretta e gli argomenti in cui viene descritta la relativa sintassi specifica.

Entità a protezione diretta

Argomento

Ruolo dell'applicazione

REVOKE - autorizzazioni per entità di database (Transact-SQL)

Assembly

REVOKE - autorizzazioni per assembly (Transact-SQL)

Chiave asimmetrica

REVOKE (autorizzazioni per chiavi asimmetriche) (Transact-SQL)

Certificato

REVOKE (autorizzazioni per certificati) (Transact-SQL)

Contratto

REVOKE (autorizzazioni di Service Broker) (Transact-SQL)

Database

REVOKE - autorizzazioni per database (Transact-SQL)

Endpoint

REVOKE - autorizzazioni per endpoint (Transact-SQL)

Catalogo full-text

REVOKE - autorizzazioni per il catalogo full-text (Transact-SQL)

Elenco di parole non significative full-text

REVOKE - autorizzazioni per il catalogo full-text (Transact-SQL)

Funzione

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Account di accesso

REVOKE - autorizzazioni per entità server (Transact-SQL)

Tipo di messaggio

REVOKE (autorizzazioni di Service Broker) (Transact-SQL)

Oggetto

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Coda

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Associazione al servizio remoto

REVOKE (autorizzazioni di Service Broker) (Transact-SQL)

Ruolo

REVOKE - autorizzazioni per entità di database (Transact-SQL)

Route

REVOKE (autorizzazioni di Service Broker) (Transact-SQL)

Schema

REVOKE (autorizzazioni per schemi) (Transact-SQL)

Server

REVOKE - autorizzazioni per server (Transact-SQL)

Servizio

REVOKE (autorizzazioni di Service Broker) (Transact-SQL)

Stored procedure

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Chiave simmetrica

REVOKE - autorizzazioni per chiavi simmetriche (Transact-SQL)

Sinonimo

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Oggetti di sistema

REVOKE - autorizzazioni per oggetti di sistema (Transact-SQL)

Tabella

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Tipo

REVOKE - autorizzazioni per tipi (Transact-SQL)

Utente

REVOKE - autorizzazioni per entità di database (Transact-SQL)

Vista

REVOKE - autorizzazioni per oggetti (Transact-SQL)

Raccolta di XML Schema

REVOKE - autorizzazioni per raccolte di XML Schema (Transact-SQL)