Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Concede le autorizzazioni per un database in SQL Server.
Convenzioni relative alla sintassi Transact-SQL
Syntax
GRANT <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission>::=
permission | ALL [ PRIVILEGES ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission specifica un'autorizzazione che può essere concessa per un database. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.
L'opzione ALL non concede tutte le autorizzazioni possibili. La concessione di ALL equivale a concedere le autorizzazioni seguenti: BACKUP DATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.
PRIVILEGES viene incluso per la conformità allo standard ANSI-92. Non modifica il funzionamento di ALL.
WITH GRANT OPTION indica che l'entità di sicurezza potrà anche concedere l'autorizzazione specificata ad altre entità di sicurezza.
AS <database_principal> Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di concedere l'autorizzazione.
Database_user specifica un utente del database.
Database_role specifica un ruolo del database.
Application_role si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL
Specifica un ruolo applicazione.
Database_user_mapped_to_Windows_User si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a un utente di Windows.
Database_user_mapped_to_Windows_Group si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a un gruppo di Windows.
Database_user_mapped_to_certificate si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a un certificato.
Database_user_mapped_to_asymmetric_key si applica a: SQL Server 2008 (10.0.x) e versioni successive
Specifica un utente del database sul quale viene eseguito il mapping a una chiave asimmetrica.
Database_user_with_no_login specifica un utente del database senza entità di livello server corrispondente.
Remarks
Important
Una combinazione di autorizzazioni ALTER e REFERENCE potrebbe consentire in alcuni casi al beneficiario di visualizzare dati o eseguire funzioni non autorizzate. Un utente con autorizzazione ALTER per una tabella e autorizzazione REFERENCE per una funzione può ad esempio creare una colonna calcolata su una funzione e determinarne l'esecuzione. In questo caso, è inoltre necessario disporre dell'autorizzazione SELECT per la colonna calcolata.
Un database è un'entità a protezione diretta contenuta nel server padre nella gerarchia delle autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile concedere per un database, insieme alle autorizzazioni più generali che le includono in modo implicito.
| Permesso per il database | Autorizzazione del database in cui è inclusa | Autorizzazione del server in cui è inclusa |
|---|---|---|
| AMMINISTRA LE OPERAZIONI DI MASSA DEL DATABASE Si applica a: database SQL. |
CONTROL | SERVER DI CONTROLLO |
| ALTER | CONTROL | MODIFICA QUALSIASI DATABASE |
| MODIFICA QUALSIASI RUOLO DELL'APPLICAZIONE | ALTER | SERVER DI CONTROLLO |
| ALTERA QUALSIASI ASSEMBLY | ALTER | SERVER DI CONTROLLO |
| ALTERA QUALSIASI CHIAVE ASIMMETRICA | ALTER | SERVER DI CONTROLLO |
| MODIFICA QUALSIASI CERTIFICATO | ALTER | SERVER DI CONTROLLO |
| ALTERA QUALSIASI CHIAVE DI CRITTOGRAFIA DELLA COLONNA | ALTER | SERVER DI CONTROLLO |
| MODIFICA QUALSIASI DEFINIZIONE DI CHIAVE MAESTRA A COLONNA | ALTER | SERVER DI CONTROLLO |
| MODIFICA QUALSIASI CONTRATTO | ALTER | SERVER DI CONTROLLO |
| ALTERARE QUALSIASI AUDIT DEL DATABASE | ALTER | MODIFICA QUALSIASI CONTROLLO DEL SERVER |
| ALTERA QUALSIASI TRIGGER DDL DEL DATABASE | ALTER | SERVER DI CONTROLLO |
| ALTER QUALSIASI NOTIFICA DI EVENTO DEL DATABASE | ALTER | MODIFICA QUALSIASI NOTIFICA DI EVENTO |
| ALTERARE QUALSIASI SESSIONE DI EVENTO DEL DATABASE Si applica a: database SQL. |
ALTER | ALTERARE QUALSIASI SESSIONE DI EVENTO |
| ALTER QUALSIASI CONFIGURAZIONE AMBITO DATABASE Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL. |
CONTROL | SERVER DI CONTROLLO |
| MODIFICARE QUALSIASI SPAZIO DATI | ALTER | SERVER DI CONTROLLO |
| ALTERA QUALSIASI FONTE DATI ESTERNA | ALTER | SERVER DI CONTROLLO |
| MODIFICARE QUALSIASI FORMATO DI FILE ESTERNO | ALTER | SERVER DI CONTROLLO |
| MODIFICA QUALSIASI LIBRERIA ESTERNA Si applica a: SQL Server 2017 (14.x). |
CONTROL | SERVER DI CONTROLLO |
| ALTER QUALSIASI CATALOGO FULLTEXT | ALTER | SERVER DI CONTROLLO |
| ALTERARE QUALSIASI MASCHERA | CONTROL | SERVER DI CONTROLLO |
| MODIFICARE QUALSIASI TIPO DI MESSAGGIO | ALTER | SERVER DI CONTROLLO |
| MODIFICA QUALSIASI ASSOCIAZIONE DI SERVIZIO REMOTO | ALTER | SERVER DI CONTROLLO |
| MODIFICA QUALSIASI RUOLO | ALTER | SERVER DI CONTROLLO |
| ALTERA QUALSIASI ROTTA | ALTER | SERVER DI CONTROLLO |
| ALTERARE QUALSIASI SCHEMA | ALTER | SERVER DI CONTROLLO |
| ALTERARE QUALSIASI POLITICA DI SICUREZZA Si applica a: database SQL di Azure. |
CONTROL | SERVER DI CONTROLLO |
| MODIFICARE LE CLASSIFICAZIONI DI SENSIBILITÀ Si applica a: SQL Server (SQL Server 2019 e versioni successive), Database SQL di Azure. |
CONTROL | SERVER DI CONTROLLO |
| MODIFICARE QUALSIASI SERVIZIO | ALTER | SERVER DI CONTROLLO |
| ALTERARE QUALSIASI CHIAVE SIMMETRICA | ALTER | SERVER DI CONTROLLO |
| ALTERARE QUALSIASI UTENTE | ALTER | SERVER DI CONTROLLO |
| AUTHENTICATE | CONTROL | Autenticare server |
| BACKUP DATABASE (Esegui il backup del database) | CONTROL | SERVER DI CONTROLLO |
| Registro di Backup | CONTROL | SERVER DI CONTROLLO |
| CHECKPOINT | CONTROL | SERVER DI CONTROLLO |
| CONNECT | REPLICAZIONE DI CONNESSIONE | SERVER DI CONTROLLO |
| REPLICAZIONE DI CONNESSIONE | CONTROL | SERVER DI CONTROLLO |
| CONTROL | CONTROL | SERVER DI CONTROLLO |
| CREA AGGREGATO | ALTER | SERVER DI CONTROLLO |
| CREARE QUALSIASI LIBRERIA ESTERNA Si applica a: SQL Server 2017 (14.x). |
CONTROL | SERVER DI CONTROLLO |
| CREA ASSEMBLY | ALTERA QUALSIASI ASSEMBLY | SERVER DI CONTROLLO |
| CREA CHIAVE ASIMMETRICA | ALTERA QUALSIASI CHIAVE ASIMMETRICA | SERVER DI CONTROLLO |
| CREA CERTIFICATO | MODIFICA QUALSIASI CERTIFICATO | SERVER DI CONTROLLO |
| CREA CONTRATTO | MODIFICA QUALSIASI CONTRATTO | SERVER DI CONTROLLO |
| CREA DATABASE | CONTROL | CREA QUALSIASI DATABASE |
| NOTIFICA EVENTO DDL DEL DATABASE | ALTER QUALSIASI NOTIFICA DI EVENTO DEL DATABASE | CREA NOTIFICA DI EVENTO DDL |
| CREARE PREDEFINITO | ALTER | SERVER DI CONTROLLO |
| CREA CATALOGO FULLTEXT | ALTER QUALSIASI CATALOGO FULLTEXT | SERVER DI CONTROLLO |
| CREA FUNZIONE | ALTER | SERVER DI CONTROLLO |
| CREA TIPO DI MESSAGGIO | MODIFICARE QUALSIASI TIPO DI MESSAGGIO | SERVER DI CONTROLLO |
| CREA PROCEDURA | ALTER | SERVER DI CONTROLLO |
| CREATE QUEUE | ALTER | SERVER DI CONTROLLO |
| CREA ASSOCIAZIONE DI SERVIZIO REMOTO | MODIFICA QUALSIASI ASSOCIAZIONE DI SERVIZIO REMOTO | SERVER DI CONTROLLO |
| CREARE RUOLO | MODIFICA QUALSIASI RUOLO | SERVER DI CONTROLLO |
| Crea percorso | ALTERA QUALSIASI ROTTA | SERVER DI CONTROLLO |
| CREA REGOLA | ALTER | SERVER DI CONTROLLO |
| CREATE SCHEMA | ALTERARE QUALSIASI SCHEMA | SERVER DI CONTROLLO |
| CREA SERVIZIO | MODIFICARE QUALSIASI SERVIZIO | SERVER DI CONTROLLO |
| CREARE CHIAVE SIMMETRICA | ALTERARE QUALSIASI CHIAVE SIMMETRICA | SERVER DI CONTROLLO |
| CREA SINONIMO | ALTER | SERVER DI CONTROLLO |
| CREATE TABLE | ALTER | SERVER DI CONTROLLO |
| CREA TIPO (CREATE TYPE) | ALTER | SERVER DI CONTROLLO |
| CREA VISTA | ALTER | SERVER DI CONTROLLO |
| CREA XML SCHEMA COLLECTION | ALTER | SERVER DI CONTROLLO |
| DELETE | CONTROL | SERVER DI CONTROLLO |
| EXECUTE | CONTROL | SERVER DI CONTROLLO |
| ESEGUIRE QUALSIASI ENDPOINT ESTERNO Si applica a: database SQL di Azure. |
CONTROL | SERVER DI CONTROLLO |
| ESEGUIRE QUALSIASI SCRIPT ESTERNO Si applica a: SQL Server 2016 (13.x). |
CONTROL | SERVER DI CONTROLLO |
| ESEGUI UNO SCRIPT ESTERNO Si applica a: SQL Server 2019 (15.x). |
Eseguire qualsiasi script esterno | SERVER DI CONTROLLO |
| INSERT | CONTROL | SERVER DI CONTROLLO |
| Interrompi connessione al database Si applica a: database SQL di Azure. |
CONTROL | ALTERARE QUALSIASI CONNESSIONE |
| REFERENCES | CONTROL | SERVER DI CONTROLLO |
| SELECT | CONTROL | SERVER DI CONTROLLO |
| SHOWPLAN | CONTROL | ALTER TRACE |
| SOTTOSCRIVERE LE NOTIFICHE DELLE QUERY | CONTROL | SERVER DI CONTROLLO |
| PRENDITI LA PROPRIETÀ | CONTROL | SERVER DI CONTROLLO |
| UNMASK | CONTROL | SERVER DI CONTROLLO |
| UPDATE | CONTROL | SERVER DI CONTROLLO |
| VISUALIZZARE QUALSIASI DEFINIZIONE DELLA CHIAVE DI CRITTOGRAFIA DELLA COLONNA | CONTROL | VISUALIZZA QUALSIASI DEFINIZIONE |
| VISUALIZZARE LA DEFINIZIONE DELLA CHIAVE MASTER DI QUALSIASI COLONNA | CONTROL | VISUALIZZA QUALSIASI DEFINIZIONE |
| VISUALIZZARE LO STATO DEL DATABASE | CONTROL | VISUALIZZA STATO DEL SERVER |
| VISUALIZZA DEFINIZIONE | CONTROL | VISUALIZZA QUALSIASI DEFINIZIONE |
Permissions
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 i requisiti aggiuntivi seguenti.
| COME granting_principal | Autorizzazione aggiuntiva necessaria |
|---|---|
| Utente del database | Autorizzazione IMPERSONATE per l'utente, appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Utente del database di cui è stato eseguito il mapping a un account di accesso di Windows | Autorizzazione IMPERSONATE per l'utente, appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Utente del database di cui è stato eseguito il mapping a un gruppo di Windows | Appartenenza al gruppo di Windows, appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Utente del database di cui è stato eseguito il mapping a un certificato | Appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Utente del database di cui è stato eseguito il mapping a una chiave asimmetrica | Appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Utente del database di cui non è stato eseguito il mapping ad alcuna entità server | Autorizzazione IMPERSONATE per l'utente, appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Ruolo del database | Autorizzazione ALTER per il ruolo, appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
| Ruolo dell'applicazione | Autorizzazione ALTER per il ruolo, appartenenza al ruolo predefinito del database db_securityadmin, appartenenza al ruolo predefinito del database db_owner o appartenenza al ruolo predefinito del server sysadmin. |
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.
Examples
A. Concessione dell'autorizzazione per la creazione di tabelle
Nell'esempio seguente viene concessa l'autorizzazione CREATE TABLE per il database AdventureWorks all'utente MelanieK.
USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO
B. Concessione dell'autorizzazione SHOWPLAN a un ruolo applicazione
Nell'esempio seguente viene concessa l'autorizzazione SHOWPLAN per il database AdventureWorks2025 al ruolo applicazione AuditMonitor.
Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL
USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO
C. Concessione dell'autorizzazione CREATE VIEW con GRANT OPTION
Nell'esempio seguente viene concessa l'autorizzazione CREATE VIEW per il database AdventureWorks2025 all'utente CarmineEs con il diritto di concedere l'autorizzazione CREATE VIEW ad altre entità.
USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO
D. Concessione dell'autorizzazione CONTROL a un utente del database
Nell'esempio seguente viene concessa l'autorizzazione CONTROL per il database AdventureWorks2025 all'utente del database Sarah. L'utente deve esistere nel database e il contesto deve essere impostato sul database.
USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO