Condividi tramite


Autorizzazioni per entità server GRANT (Transact-SQL)

Concede le autorizzazioni per un account di accesso di SQL Server.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

GRANT permission [ ,...n ] } 
    ON 
    { [ LOGIN :: SQL_Server_login ]
      | [ SERVER ROLE :: server_role ] } 
    TO <server_principal> [ ,...n ]
    [ WITH GRANT OPTION ]
    [ AS SQL_Server_login ] 

<server_principal> ::= 
    SQL_Server_login
    | SQL_Server_login_from_Windows_login 
    | SQL_Server_login_from_certificate 
    | SQL_Server_login_from_AsymKey 
    | server_role

Argomenti

  • permission
    Specifica un'autorizzazione che può essere concessa per un account di accesso di SQL Server. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.

  • LOGIN :: SQL_Server_login
    Specifica l'account di accesso di SQL Server per cui viene concessa l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.

  • SERVER ROLE :: server_role
    Specifica il ruolo del server definito dall'utente per cui viene concessa l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.

  • TO <server_principal>
    Specifica il ruolo del server o l'account di accesso di SQL Server a cui viene concessa l'autorizzazione.

  • SQL_Server_login
    Specifica il nome di un account di accesso di SQL Server.

  • SQL_Server_login_from_Windows_login
    Specifica il nome di un account di accesso di SQL Server creato da un account di accesso di Windows.

  • SQL_Server_login_from_certificate
    Specifica il nome di un account di accesso di SQL Server di cui è stato eseguito il mapping a un certificato.

  • SQL_Server_login_from_AsymKey
    Specifica il nome di un account di accesso di SQL Server di cui è stato eseguito il mapping a una chiave asimmetrica.

  • server_role
    Specifica il nome di un ruolo del server definito dall'utente.

  • WITH GRANT OPTION
    Indica che l'entità potrà inoltre concedere l'autorizzazione specificata ad altre entità.

  • AS SQL_Server_login
    Specifica l'account di accesso di SQL Server dal quale l'entità che esegue la query ottiene il diritto di concedere l'autorizzazione.

Osservazioni

È possibile concedere autorizzazioni nell'ambito del server solo se il database corrente è il database master.

Le informazioni sulle autorizzazioni del server sono visibili nella vista del catalogo sys.server_permissions. Le informazioni sulle entità server sono visibili nella vista del catalogo sys.server_principals.

I ruoli del server e gli account di accesso di SQL Server sono entità a protezione diretta a livello di server. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile concedere per un ruolo del server o account di accesso di SQL Server, insieme alle autorizzazioni più generali che le includono in modo implicito.

Autorizzazione del ruolo del server o dell'account di accesso di SQL Server

Autorizzazione del ruolo del server o dell'account di accesso di SQL Server in cui è inclusa

Autorizzazione del server in cui è inclusa

CONTROL

CONTROL

CONTROL SERVER

IMPERSONATE

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

ALTER

CONTROL

ALTER ANY LOGIN

ALTER ANY SERVER ROLE

Autorizzazioni

Per gli account di accesso, è richiesta l'autorizzazione CONTROL per l'account di accesso o l'autorizzazione ALTER ANY LOGIN per il server.

Per i ruoli del server, è richiesta l'autorizzazione CONTROL per il ruolo del server o l'autorizzazione ALTER ANY SERVER ROLE per il server.

Esempi

A.Concessione dell'autorizzazione IMPERSONATE per un account di accesso

Nell'esempio seguente viene concessa l'autorizzazione IMPERSONATE per l'account di accesso di SQL Server WanidaBenshoof a un account di accesso di SQL Server creato dall'utente di Windows AdvWorks\YoonM.

USE master;
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];
GO

B.Concessione dell'autorizzazione VIEW DEFINITION con GRANT OPTION

Nell'esempio seguente viene concessa l'autorizzazione VIEW DEFINITION per l'account di accesso di SQL Server EricKurjan all'account di accesso di SQL Server RMeyyappan con GRANT OPTION.

USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan 
    WITH GRANT OPTION;
GO 

C.Concessione dell'autorizzazione VIEW DEFINITION per un ruolo del server

Nell'esempio seguente viene concessa l'autorizzazione VIEW DEFINITION nel ruolo del server Sales per il ruolo del server Auditors.

USE master;
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO 

Vedere anche

Riferimento

sys.server_principals (Transact-SQL)

sys.server_permissions (Transact-SQL)

CREATE LOGIN (Transact-SQL)

Funzioni di sicurezza (Transact-SQL)

Stored procedure di sicurezza (Transact-SQL)

Concetti

Entità (Motore di database)

Autorizzazioni (Motore di database)