REVOKE (Transact-SQL)
Rimuove un'autorizzazione precedentemente assegnata o negata.
La sintassi completa dell'istruzione REVOKE è complessa. Nel diagramma precedente è stata semplificata 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.
Attenzione
|
|---|
|
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.
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.
Nelle seguenti tabelle vengono elencate le entità a protezione diretta e gli argomenti in cui viene descritta la relativa sintassi specifica.
