Condividi tramite


GRANT, autorizzazioni del gruppo di disponibilità (Transact-SQL)

Si applica a: SQL Server

Concede le autorizzazioni su un gruppo di disponibilità AlwaysOn.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

GRANT permission  [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name  
        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  

Argomenti

permission
Specifica un'autorizzazione che può essere concessa su un gruppo di disponibilità. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.

ON AVAILABILITY GROUP ::availability_group_name
Specifica il gruppo di disponibilità per cui viene concessa l'autorizzazione. Il qualificatore di ambito (::) è obbligatorio.

TO <server_principal>
Specifica l'account di accesso a SQL Server per 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 con il mapping a un certificato.

SQL_Server_login_from_AsymKey
Specifica il nome di un account di accesso di SQL Server con il mapping a una chiave asimmetrica.

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 sui gruppi di disponibilità sono visibili nella vista del catalogo sys.availability_groups (Transact-SQL). Le informazioni sulle autorizzazioni del server sono visibili nella vista del catalogo sys.server_permissions e le informazioni sulle entità server sono visibili nella vista del catalogo sys.server_principals.

Un gruppo di disponibilità è un'entità a protezione diretta a livello server. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile concedere su un gruppo di disponibilità, insieme alle autorizzazioni più generali che le includono in modo implicito.

Autorizzazione del gruppo di disponibilità Autorizzazione del gruppo di disponibilità in cui è inclusa Autorizzazione del server in cui è inclusa
ALTER CONTROL ALTER ANY AVAILABILITY GROUP
CONNECT CONTROL CONTROL SERVER
CONTROL CONTROL CONTROL SERVER
TAKE OWNERSHIP CONTROL CONTROL SERVER
VIEW DEFINITION CONTROL VIEW ANY DEFINITION

Per un grafico di tutte le autorizzazioni del motore di database, vedere il documento relativo alle autorizzazioni del motore di database.

Autorizzazioni

È richiesta l'autorizzazione CONTROL per il gruppo di disponibilità o l'autorizzazione ALTER ANY AVAILABILITY GROUP per il server.

Esempi

R. Concessione dell'autorizzazione VIEW DEFINITION per un gruppo di disponibilità

Nell'esempio seguente viene concessa l'autorizzazione VIEW DEFINITION sul gruppo di disponibilità MyAg per l'account di accesso di SQL Server ZArifin.

USE master;  
GRANT VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;  
GO  

B. Concessione dell'autorizzazione TAKE OWNERSHIP con GRANT OPTION

Nell'esempio seguente viene concessa l'autorizzazione TAKE OWNERSHIP sul gruppo di disponibilità MyAg all'utente di SQL Server PKomosinski con GRANT OPTION.

USE master;  
GRANT TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski   
    WITH GRANT OPTION;  
GO  

C. Concessione dell'autorizzazione CONTROL per un gruppo di disponibilità

Nell'esempio seguente viene concessa l'autorizzazione CONTROL sul gruppo di disponibilità MyAg all'utente di SQL Server PKomosinski. CONTROL concede all'account di accesso il controllo completo del gruppo di disponibilità, anche se non è il proprietario del gruppo di disponibilità. Per cambiare la proprietà, vedere ALTER AUTHORIZATION (Transact-SQL).

USE master;  
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski;  
GO  

Vedi anche

REVOKE - Autorizzazioni del gruppo di disponibilità (Transact-SQL)
DENY - Autorizzazioni del gruppo di disponibilità (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Viste del catalogo di Gruppi di disponibilità Always On (Transact-SQL)Autorizzazioni (motore di database)
Entità di sicurezza (motore di database)