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
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
Concede le autorizzazioni per un tipo.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
GRANT permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<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
Argomenti
permission
Specifica un'autorizzazione che può essere concessa per un tipo. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.
ON TYPE:: [ schema_name. ] type_name
Specifica il tipo per cui viene concessa l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio. Se si omette schema_name, verrà usato lo schema predefinito. Se si specifica schema_name, il qualificatore di ambito dello schema (.) è obbligatorio.
TO <database_principal> Specifica l'entità di sicurezza a cui viene concessa l'autorizzazione.
CON GRANT OPZIONE
Indica che l'entità potrà inoltre concedere l'autorizzazione specificata ad altre entità.
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 di 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 per cui non esiste un'entità corrispondente a livello del server.
Osservazioni:
Un tipo è un'entità a sicurezza diretta a livello di schema contenuta nello schema padre nella gerarchia delle autorizzazioni.
Importante
GRANT, DENY, e REVOKE i permessi non si applicano ai tipi di sistema. Ai tipi definiti dall'utente è possibile concedere autorizzazioni. Per altre informazioni sui tipi definiti dall'utente, vedere Uso di tipi definiti dall'utente in SQL Server.
Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile concedere per un tipo, insieme alle autorizzazioni più generali che le includono in modo implicito.
| Autorizzazione del tipo | Autorizzazione del tipo in cui è inclusa | Autorizzazione dello schema in cui è inclusa |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| EXECUTE | CONTROL | EXECUTE |
| REFERENCES | CONTROL | REFERENCES |
| PRENDITI LA PROPRIETÀ | CONTROL | CONTROL |
| VIEW DEFINIZIONE | CONTROL | VIEW DEFINIZIONE |
Autorizzazioni
Il concedente (o il principale specificato con l'opzione AS) deve avere o il permesso stesso con GRANT OPTION, oppure un permesso superiore che implichi il permesso concesso.
Se si utilizza l'opzione AS, sono previsti i requisiti aggiuntivi seguenti.
| AS | 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 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. |
Esempi
Nell'esempio seguente viene concessa l'autorizzazione VIEW DEFINITION con GRANT OPTION per il tipo definito dall'utente PhoneNumber all'utente KhalidR.
PhoneNumber è incluso nello schema Telemarketing.
GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber
TO KhalidR WITH GRANT OPTION;
GO
Vedi anche
DENY Permessi di Tipo (Transact-SQL)
REVOKE Permessi di Tipo (Transact-SQL)
CREATE TYPE (Transact-SQL)
Autorizzazioni (Motore di database)
Entità a protezione diretta
Entità di sicurezza (motore di database)