Condividi tramite


Configurare il backup su repliche di disponibilità (SQL Server)

Questo argomento descrive come configurare il backup nelle repliche secondarie per un gruppo di disponibilità AlwaysOn usando SQL Server Management Studio, Transact-SQL o PowerShell in SQL Server 2014.

Annotazioni

Per un'introduzione al backup nelle repliche secondarie, vedere Repliche secondarie attive: Backup nelle repliche secondarie (gruppi di disponibilità AlwaysOn).

Prima di iniziare

Prerequisiti

È necessario essere connessi all'istanza del server che ospita la replica primaria.

Sicurezza

Autorizzazioni

Attività Autorizzazioni
Per configurare il backup delle repliche secondarie durante la creazione di un gruppo di disponibilità Sono necessarie l'appartenenza al ruolo predefinito del server sysadmin e, in aggiunta, l'autorizzazione server CREATE AVAILABILITY GROUP, oppure l'autorizzazione ALTER ANY AVAILABILITY GROUP, o l'autorizzazione CONTROL SERVER.
Per modificare un gruppo di disponibilità o una replica di disponibilità Sono necessarie l'autorizzazione ALTER AVAILABILITY GROUP nel gruppo di disponibilità, l'autorizzazione CONTROL AVAILABILITY GROUP, l'autorizzazione ALTER ANY AVAILABILITY GROUP o l'autorizzazione CONTROL SERVER.

Uso di SQL Server Management Studio

Per configurare il backup delle repliche secondarie

  1. In Esplora oggetti connettersi all'istanza del server in cui viene ospitata la replica primaria e fare clic sul nome del server per espandere il relativo albero.

  2. Espandere il nodo Disponibilità elevata AlwaysOn e il nodo Gruppi di disponibilità .

  3. Fare clic sul gruppo di disponibilità le cui preferenze di backup si desidera configurare e selezionare il comando Proprietà .

  4. Nella finestra di dialogo Proprietà gruppo di disponibilità selezionare la pagina Preferenze di backup .

  5. Nel pannello Dove devono essere eseguiti i backup selezionare la preferenza di backup automatizzata per il gruppo di disponibilità, una delle opzioni seguenti:

    Preferisci il secondario
    Specifica che i backup devono essere eseguiti su una replica secondaria tranne quando la replica primaria è l'unica replica online. In tal caso il backup deve essere eseguito sulla replica primaria. Questa è l'opzione predefinita.

    Solo secondaria
    Specifica che i backup non devono mai essere eseguiti sulla replica primaria. Se la replica primaria è l'unica replica online, il backup non viene eseguito.

    Primary
    Specifica che i backup devono essere sempre eseguiti sulla replica primaria. Questa opzione è utile se sono necessarie funzionalità di backup, ad esempio la creazione di backup differenziali, che non sono supportate quando il backup viene eseguito in una replica secondaria.

    Importante

    Se prevedi di utilizzare il log shipping per preparare i database secondari per un gruppo di disponibilità, imposta la preferenza per il backup automatico su Primary fino a quando tutti i database secondari non sono stati preparati e aggiunti al gruppo di disponibilità.

    Qualsiasi replica
    Specifica che si preferisce che i processi di backup ignorino il ruolo delle repliche di disponibilità nella scelta della replica per l'esecuzione dei backup. Si noti che i processi di backup potrebbero valutare altri fattori, ad esempio la priorità di backup di ogni replica di disponibilità in combinazione con lo stato operativo e lo stato connesso.

    Importante

    Non esiste alcuna imposizione dell'impostazione delle preferenze di backup automatizzate. L'interpretazione di questa preferenza dipende dalla logica, se ce n'è una, che hai scritto nei processi di backup per i database di un dato gruppo di disponibilità. L'impostazione delle preferenze di backup automatizzato non influisce sui backup ad hoc. Per altre informazioni, vedere Approfondimento: dopo aver configurato il backup nelle repliche secondarie più avanti in questo argomento.

  6. Usare la griglia priorità di backup della replica per modificare la priorità di backup delle repliche di disponibilità. Questa griglia visualizza la priorità di backup corrente di ogni istanza del server che ospita una replica per il gruppo di disponibilità. Le colonne della griglia sono le seguenti:

    Istanza del server
    Nome dell'istanza di SQL Server che ospita la replica di disponibilità.

    Priorità di backup (più bassa=1, più alta=100)
    Specifica la priorità di esecuzione dei backup nella replica rispetto alle altre repliche nello stesso gruppo di disponibilità. Il valore è un numero intero compreso nell'intervallo 0-100. 1 indica la priorità più bassa e 100 indica la priorità più alta. Se priorità di backup = 1, la replica di disponibilità verrà scelta per l'esecuzione dei backup solo se non sono attualmente disponibili repliche di disponibilità con priorità più alta.

    Escludi replica
    Selezionare se non si vuole mai scegliere questa replica di disponibilità per l'esecuzione dei backup. Ciò si rivela utile, ad esempio, per una replica di disponibilità remota in cui non si desidera eseguire mai il failover dei backup.

  7. Per eseguire il commit delle modifiche, fare clic su OK.

Modi alternativi per accedere alla pagina Preferenze di backup

Uso di Transact-SQL

Per configurare il backup delle repliche secondarie

  1. Connettersi all'istanza del server che ospita la replica primaria.

  2. Per un nuovo gruppo di disponibilità, usare l'istruzione CREATE AVAILABILITY GROUP (Transact-SQL). Se si modifica un gruppo di disponibilità esistente, usare l'istruzione ALTER AVAILABILITY GROUP (Transact-SQL).

Utilizzo di PowerShell

Per configurare il backup nelle repliche secondarie

  1. Impostare il valore predefinito (cd) sull'istanza del server che ospita la replica primaria.

  2. Facoltativamente, configurare la priorità di backup di ogni replica di disponibilità che si sta aggiungendo o modificando. Questa priorità viene usata dall'istanza del server che ospita la replica primaria per decidere quale replica deve gestire una richiesta di backup automatizzata in un database nel gruppo di disponibilità (viene scelta la replica con priorità più alta). Questa priorità può essere qualsiasi numero compreso tra 0 e 100 inclusi. Una priorità pari a 0 indica che la replica non deve essere considerata un candidato per la manutenzione delle richieste di backup. L'impostazione predefinita è 50.

    Quando aggiungere una replica di disponibilità a un gruppo di disponibilità, usare il comando cmdlet New-SqlAvailabilityReplica. Quando si modifica una replica di disponibilità esistente, usare il Set-SqlAvailabilityReplica cmdlet . In entrambi i casi, specificare il BackupPriority parametro n, dove n è un valore compreso tra 0 e 100.

    Ad esempio, il comando seguente imposta la priorità di backup della replica MyReplica di disponibilità su 60.

    Set-SqlAvailabilityReplica -BackupPriority 60 -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    
  3. Opzionalmente, configura la preferenza di backup automatico per il gruppo di disponibilità che stai creando o modificando. Questa preferenza indica come un processo di backup deve valutare la replica primaria quando si sceglie dove eseguire i backup. L'impostazione predefinita consiste nel preferire le repliche secondarie.

    Quando si crea un gruppo di disponibilità, usare il New-SqlAvailabilityGroup cmdlet . Quando si modifica un gruppo di disponibilità esistente, usare il Set-SqlAvailabilityGroup cmdlet . In entrambi i casi, specificare il AutomatedBackupPreference parametro .

    dove,

    Primary
    Specifica che i backup devono essere sempre eseguiti sulla replica primaria. Questa opzione è utile se sono necessarie funzionalità di backup, ad esempio la creazione di backup differenziali, che non sono supportate quando il backup viene eseguito in una replica secondaria.

    Importante

    Se prevedete di usare il log shipping per preparare i database secondari per un gruppo di disponibilità elevata, impostare la preferenza per il backup automatizzato su Primary fino al completamento della preparazione e dell'inserimento di tutti i database secondari nel gruppo di disponibilità.

    SecondaryOnly
    Specifica che i backup non devono mai essere eseguiti sulla replica primaria. Se la replica primaria è l'unica replica online, il backup non viene eseguito.

    Secondary
    Specifica che i backup devono essere eseguiti su una replica secondaria tranne quando la replica primaria è l'unica replica online. In tal caso il backup deve essere eseguito sulla replica primaria. Si tratta del comportamento predefinito.

    None
    Specifica che si preferisce che i processi di backup ignorino il ruolo delle repliche di disponibilità nella scelta della replica per l'esecuzione dei backup. Si noti che i processi di backup potrebbero valutare altri fattori, ad esempio la priorità di backup di ogni replica di disponibilità in combinazione con lo stato operativo e lo stato connesso.

    Importante

    Non è prevista alcuna imposizione di AutomatedBackupPreference. L'interpretazione di questa preferenza dipende dalla logica, se eventualmente presente, che si scrive nei processi di backup per i database in un dato gruppo di disponibilità. L'impostazione delle preferenze di backup automatizzato non influisce sui backup ad hoc. Per altre informazioni, vedere Completamento: dopo aver configurato il backup nelle repliche secondarie più avanti in questo argomento.

    Ad esempio, il comando seguente imposta la AutomatedBackupPreference proprietà nel gruppo MyAg di disponibilità su SecondaryOnly. I backup automatici dei database in questo gruppo di disponibilità non verranno mai eseguiti nella replica primaria, ma verranno reindirizzati alla replica secondaria con l'impostazione di priorità di backup più alta.

    Set-SqlAvailabilityGroup -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg `  
     -AutomatedBackupPreference SecondaryOnly  
    

Annotazioni

Per visualizzare la sintassi di un cmdlet, usare il Get-Help cmdlet nell'ambiente PowerShell di SQL Server. Per altre informazioni, vedere Get Help SQL Server PowerShell.

Per configurare e usare il provider PowerShell di SQL Server, vedere Provider PowerShell di SQL Server e Ottenere la Guida di SQL Server PowerShell.

Seguito: dopo la configurazione del backup sulle repliche secondarie

Per tenere conto delle preferenze di backup automatizzate per un determinato gruppo di disponibilità, in ogni istanza del server che ospita una replica di disponibilità la cui priorità di backup è maggiore di zero (>0), è necessario creare script per i processi di backup per i database nel gruppo di disponibilità. Per determinare se la replica corrente è la replica di backup preferita, usare la funzione sys.fn_hadr_backup_is_preferred_replica nello script di backup. Se la replica di disponibilità ospitata dall'istanza del server corrente è la replica preferita per i backup, questa funzione restituisce 1. In caso contrario, la funzione restituisce 0. Eseguendo uno script semplice in ogni replica di disponibilità che esegue query su questa funzione, è possibile determinare quale replica deve eseguire un determinato processo di backup. Ad esempio, un frammento tipico di uno script di processo di backup sarà simile al seguente:

IF (NOT sys.fn_hadr_backup_is_preferred_replica(@DBNAME))  
BEGIN  
      Select 'This is not the preferred replica, exiting with success';  
      RETURN 0 - This is a normal, expected condition, so the script returns success  
END  
BACKUP DATABASE @DBNAME TO DISK=<disk>  
   WITH COPY_ONLY;  

Scriptare un'attività di backup con questa logica consente di programmare l'esecuzione dell'attività su ogni replica di disponibilità con lo stesso programma. Ognuno di questi processi esamina gli stessi dati per determinare quale processo deve essere eseguito, quindi solo uno dei processi pianificati procede effettivamente alla fase di backup. In caso di failover, nessuno degli script o dei processi deve essere modificato. Inoltre, se si riconfigura un gruppo di disponibilità per aggiungere una replica di disponibilità, la gestione del processo di backup richiede semplicemente la copia o la pianificazione del processo di backup. Se si rimuove una replica di disponibilità, è sufficiente eliminare il processo di backup dall'istanza del server che ha ospitato tale replica.

Suggerimento

Se si usa la Creazione guidata del piano di manutenzione per creare uno specifico processo di backup, il processo includerà automaticamente la logica di scripting che chiama e controlla la funzione sys.fn_hadr_backup_is_preferred_replica. Tuttavia, il processo di backup non restituirà il messaggio "Questa non è la replica preferita...". Assicurati di creare i processi per ogni database di disponibilità in ogni istanza del server che ospita una replica di disponibilità per il gruppo di disponibilità.

Per ottenere informazioni sulle impostazioni delle preferenze di backup

Di seguito sono riportate informazioni utili per ottenere informazioni rilevanti per il backup sul database secondario.

Visualizza Informazione Colonne pertinenti
sys.fn_hadr_backup_is_preferred_replica La replica corrente è la replica di backup preferita? Non applicabile.
sys.availability_groups Preferenze di backup automatizzate preferenza_di_backup_automatica

automated_backup_preference_desc
sys.availability_replicas Priorità di backup di una determinata replica di disponibilità backup_priority
sys.dm_hadr_availability_replica_states La replica è locale rispetto all'istanza del server?

Ruolo corrente

Stato operativo

Stato connesso

Integrità della sincronizzazione di una replica di disponibilità
is_local

ruolo, role_desc

stato operativo, descrizione stato operativo

connected_state, connected_state_desc

synchronization_health, synchronization_health_desc

Contenuto correlato

Vedere anche

Panoramica dei gruppi di disponibilità AlwaysOn (SQL Server)
Attive Repliche secondarie: backup su repliche secondarie (Gruppi di disponibilità di AlwaysOn)