GRANT (Transact-SQL)
Data aggiornamento: 12 dicembre 2006
Concede a un'entità autorizzazioni per un'entità a protezione diretta.
Sintassi
Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Argomenti
ALL
Questa opzione è obsoleta ed è stata mantenuta solo a scopo di compatibilità con le versioni precedenti. Non concede tutte le possibili autorizzazioni. La concessione di autorizzazioni tramite l'argomento ALL equivale alla concessione 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 valutata a livello di tabella, "ALL" corrisponde a 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" 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.
- PRIVILEGES
Argomento incluso per conformità con lo standard SQL-92. Non modifica il funzionamento di ALL.
- permission
Nome di un'autorizzazione. I mapping validi tra autorizzazioni ed entità a protezione diretta sono descritti negli argomenti secondari elencati di seguito.
- column
Specifica il nome di una colonna in una tabella per la quale vengono concesse autorizzazioni. Le parentesi "()" sono obbligatorie.
- class
Specifica la classe dell'entità a protezione diretta per la quale viene concessa l'autorizzazione. Il qualificatore di ambito "::" è obbligatorio.
- securable
Specifica l'entità a protezione diretta a cui viene concessa l'autorizzazione.
- TO principal
Nome di un'entità. Le entità a cui è possibile concedere 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 secondari elencati di seguito.
- GRANT OPTION
Indica che l'utente autorizzato potrà inoltre concedere l'autorizzazione specificata ad altre entità.
- AS principal
Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di concedere l'autorizzazione.
Osservazioni
La sintassi completa dell'istruzione GRANT è complessa. Nel diagramma precedente è stata semplificata per evidenziarne la struttura. La sintassi completa per la concessioni di autorizzazioni per entità a protezione diretta specifiche viene descritta negli argomenti riportati di seguito.
È 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.
Le autorizzazioni a livello di database vengono concesse nell'ambito del database specificato. Se un utente deve ottenere autorizzazioni per gli oggetti di un database diverso da quello corrente, è necessario creare un account utente nel secondo database o consentire all'account utente di accedere a tale database oltre che al database corrente.
Attenzione: |
---|
In SQL Server 2005 un'istruzione DENY a livello di tabella non ha la precedenza su 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.
Autorizzazioni
L'utente che concede le autorizzazioni (o l'entità specificata con l'opzione AS) deve disporre della relativa autorizzazione con GRANT OPTION oppure di un'autorizzazione di livello superiore che include l'autorizzazione che viene concessa. Se si utilizza l'opzione AS, sono previsti requisiti aggiuntivi. Per ulteriori informazioni, vedere l'argomento relativo alle entità a protezione diretta.
I proprietari degli oggetti possono concedere autorizzazioni per gli oggetti di cui sono proprietari. Le entità con l'autorizzazione CONTROL per un'entità a protezione diretta possono concedere l'autorizzazione per quella entità.
Gli utenti che dispongono dell'autorizzazione CONTROL SERVER, ad esempio i membri del ruolo predefinito del server sysadmin, possono concedere 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 concedere qualsiasi autorizzazione per qualsiasi entità a protezione diretta nel database. Gli utenti che dispongono dell'autorizzazione CONTROL in uno schema, possono concedere qualsiasi autorizzazione per qualsiasi oggetto all'interno dello schema.
Esempi
Per ulteriori informazioni sulla sintassi specifica delle entità a protezione diretta, vedere gli argomenti elencati nella tabella seguente.
Ruolo applicazione |
GRANT - autorizzazioni per entità di database (Transact-SQL) |
Assembly |
|
Chiave asimmetrica |
GRANT (autorizzazioni per chiavi asimmetriche) (Transact-SQL) |
Certificato |
|
Contratto |
|
Database |
|
Endpoint |
|
Catalogo full-text |
GRANT - autorizzazioni per il catalogo full-text (Transact-SQL) |
Funzione |
|
Account di accesso |
|
Tipo di messaggio |
|
Oggetto |
|
Coda |
|
Associazione al servizio remoto |
|
Ruolo |
GRANT - autorizzazioni per entità di database (Transact-SQL) |
Route |
|
Schema |
|
Server |
|
Servizio |
|
Stored procedure |
|
Chiave simmetrica |
GRANT - autorizzazioni per chiavi simmetriche (Transact-SQL) |
Sinonimo |
|
Oggetti di sistema |
|
Tabella |
|
Tipo |
|
Utente |
GRANT - autorizzazioni per entità di database (Transact-SQL) |
Vista |
|
Insieme di schemi XML |
GRANT - 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
Cronologia modifiche
Versione | Cronologia |
---|---|
12 dicembre 2006 |
|