DENY (Transact-SQL)

Data aggiornamento: 12 dicembre 2006

Nega un'autorizzazione a un'entità. Impedisce a tale entità di ereditare l'autorizzazione tramite l'appartenenza al ruolo o al gruppo.

Sintassi

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

Argomenti

  • ALL
    Questa opzione non nega tutte le autorizzazioni possibili. Negare ALL equivale a negare le autorizzazioni seguenti.

    • Se l'entità a protezione diretta è un database, "ALL" significa 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" significa EXECUTE e REFERENCES.
    • Se l'entità a protezione diretta è una funzione valutata a livello di tabella, "ALL" significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.
    • Se l'entità a protezione diretta è una stored procedure, "ALL" significa EXECUTE.
    • Se l'entità a protezione diretta è una tabella, "ALL" significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.
    • Se l'entità a protezione diretta è una vista, "ALL" significa DELETE, INSERT, REFERENCES, SELECT e UPDATE.
  • PRIVILEGES
    Incluso per compatibilità con SQL-92. Non modifica il funzionamento di ALL.
  • permission
    Nome dell'autorizzazione. I mapping validi tra le autorizzazioni e le entità a protezione diretta sono descritti negli argomenti correlati elencati di seguito.
  • column
    Specifica il nome di una colonna in una tabella per la quale vengono negate le autorizzazioni. Le parentesi "()" sono necessarie.
  • class
    Specifica la classe dell'entità a protezione diretta per la quale viene negata l'autorizzazione. Il qualificatore di ambito "::" è obbligatorio.
  • securable
    Specifica l'entità a protezione diretta per cui viene negata l'autorizzazione.
  • TO principal
    Nome dell'entità. Le entità alle quali possono essere negate le autorizzazioni per un'entità a protezione diretta variano in base all'entità a protezione diretta. Per le combinazioni valide, vedere gli argomenti relativi alle entità a protezione diretta elencati di seguito.
  • CASCADE
    Indica che l'autorizzazione viene negata all'entità specificata e a tutte le entità alle quali l'entità ha concesso l'autorizzazione. Obbligatorio quando l'entità dispone dell'autorizzazione con GRANT OPTION.
  • AS principal
    Specifica un'entità dalla quale l'entità che esegue questa istruzione deriva il proprio diritto di negare l'autorizzazione.

Osservazioni

La sintassi completa dell'istruzione DENY è complessa. Il diagramma in alto è stato semplificato per richiamare l'attenzione sulla struttura. La sintassi completa per negare le autorizzazioni su entità a protezione diretta specifiche è descritta negli argomenti elencati di seguito.

DENY avrà esito negativo se l'argomento CASCADE viene omesso quando si nega l'autorizzazione a un'entità alla quale è stata concessa tale autorizzazione con l'opzione GRANT OPTION specificata.

Le autorizzazioni a livello di colonna hanno la precedenza rispetto alle autorizzazioni per gli oggetti. Se ad esempio si applica un'autorizzazione DENY a un oggetto di base come una tabella e quindi si applica un'autorizzazione GRANT a una colonna dell'oggetto di base, l'utente autorizzato avrà accesso alla colonna nonostante non disponga dell'autorizzazione per accedere all'oggetto di base. Per garantire la presenza delle autorizzazioni a livello di colonna, tuttavia, è necessario applicarle dopo le autorizzazioni per l'oggetto di base.

[!NOTA] In SQL Server 2005, questa incongruenza nella gerarchia delle autorizzazioni è stata mantenuta per compatibilità con le versioni precedenti e verrà rimossa a partire da una delle prossime versioni.

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

ms188338.Caution(it-it,SQL.90).gifAttenzione:
Negando l'autorizzazione CONTROL per un database viene negata implicitamente anche l'autorizzazione CONNECT per il database. Un'entità alla quale viene negata l'autorizzazione CONTROL per un database non può connettersi a tale database. Analogamente, negando l'autorizzazione CONTROL SERVER viene negata implicitamente anche l'autorizzazione CONNECT SQL per il server. Un'entità alla quale viene negata l'autorizzazione CONTROL SERVER per un server non può connettersi a tale server.

Autorizzazioni

Il chiamante (o l'entità specificata con l'opzione AS) deve disporre dell'autorizzazione CONTROL per un'entità a protezione diretta o di un'autorizzazione di livello superiore che implichi l'autorizzazione CONTROL per tale entità a protezione diretta. Se si utilizza l'opzione AS, l'entità specificata deve essere proprietaria dell'entità a protezione diretta per la quale viene negata un'autorizzazione.

Gli utenti che dispongono dell'autorizzazione CONTROL SERVER, ad esempio i membri del ruolo predefinito del server sysadmin, possono negare qualsiasi autorizzazione per qualsiasi entità a protezione diretta nel server. Gli utenti che dispongono dell'autorizzazione CONTROL per il database, ad esempio i membri del ruolo predefinito del database db_owner, possono negare qualsiasi autorizzazione per ogni entità a protezione diretta nel database. Gli utenti che dispongono dell'autorizzazione CONTROL per uno schema possono negare qualsiasi autorizzazione per qualsiasi oggetto nello schema. Se si utilizza la clausola AS, l'entità specificata deve essere proprietaria dell'entità a protezione diretta per cui vengono negate le autorizzazioni.

Esempi

Per la sintassi relativa alle entità a protezione diretta, vedere gli argomenti seguenti.

Ruolo dell'applicazione

DENY Database Principal Permissions (Transact-SQL)

Assembly

DENY - autorizzazioni per assembly Transact-SQL)

Chiave asimmetrica

DENY - autorizzazioni per chiavi asimmetriche (Transact-SQL)

Certificato

DENY (autorizzazioni per certificati) (Transact-SQL)

Contratto

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

Database

DENY - autorizzazioni per database (Transact-SQL)

Endpoint

DENY - autorizzazioni per endpoint (Transact-SQL)

Catalogo full-text

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

Funzione

DENY - autorizzazioni per oggetti (Transact-SQL)

Account di accesso

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

Tipo di messaggio

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

Oggetto

DENY - autorizzazioni per oggetti (Transact-SQL)

Coda

DENY - autorizzazioni per oggetti (Transact-SQL)

Associazione al servizio remoto

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

Ruolo

DENY Database Principal Permissions (Transact-SQL)

Route

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

Schema

DENY (autorizzazioni per schemi) (Transact-SQL)

Server

DENY - autorizzazioni per server (Transact-SQL)

Servizio

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

Stored procedure

DENY - autorizzazioni per oggetti (Transact-SQL)

Chiave simmetrica

DENY - autorizzazioni per chiavi simmetriche (Transact-SQL)

Sinonimo

DENY - autorizzazioni per oggetti (Transact-SQL)

Oggetti di sistema

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

Tabella

DENY - autorizzazioni per oggetti (Transact-SQL)

Tipo

DENY - autorizzazioni per tipi (Transact-SQL)

Utente

DENY Database Principal Permissions (Transact-SQL)

Vista

DENY - autorizzazioni per oggetti (Transact-SQL)

Insieme di schemi XML

DENY - autorizzazioni per insiemi di schemi XML (Transact-SQL)

Vedere anche

Riferimento

DENY (Transact-SQL)
REVOKE (Transact-SQL)
sp_addgroup (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changegroup (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiunta di contenuto per chiarire la precedenza delle autorizzazioni a livello di colonna rispetto alle autorizzazioni per gli oggetti.