Condividi tramite


Configurare il log shipping per SQL Server nella macchine virtuali di Azure

Si applica a: SQL Server su VM di Azure

Questo articolo illustra come configurare il log shipping tra due SQL Server in Macchine virtuali (VM) di Azure.

Panoramica

Il log shipping consente di inviare automaticamente i backup del log delle transazioni da un database primario su un server primario a uno o più database secondari su un server secondario separato. I backup del log delle transazioni vengono applicati singolarmente a ogni database secondario. Un terzo server facoltativo, noto come server di monitoraggio, registra la cronologia e lo stato delle operazioni di backup e di ripristino e genera in avvisi nel caso in cui tali operazioni non vengano eseguite come previsto.

Il log shipping viene usato principalmente come soluzione di ripristino di emergenza e può essere combinato con altre opzioni di disponibilità elevata e ripristino di emergenza, inclusi i gruppi di disponibilità AlwaysOn.

Prerequisiti

Per configurare il log shipping per SQL Server nelle macchine virtuali di Azure, è necessario disporre dei prerequisiti seguenti:

  • Almeno due macchine virtuali di Azure aggiunte a un dominio con SQL Server nello stesso gruppo di risorse di un account di archiviazione di Azure per i backup del log delle transazioni. Il server secondario deve avere una versione uguale o successiva di SQL Server rispetto all'SQL Server primario.

  • Il database primario deve usare il modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk. Il log shipping smette di funzionare se il database primario viene passato a un modello di recupero con registrazione minima.

  • L'account che configura log shipping deve essere membro del ruolo predefinito del server sysadmin.

Creare una condivisione file di Azure

Directory in cui vengono archiviati i file di backup del log delle transazioni dal server primario. Prima di configurare il log shipping, è necessario creare una condivisione file di Azure all'interno di un account di archiviazione di Azure accessibile sia dal server primario che da quello secondario.

Per creare la condivisione file di Azure nel portale di Azure, seguire questa procedura:

  1. Passare al gruppo di risorse nel portale di Azure e selezionare l'account di archiviazione che si intende usare per i backup del log delle transazioni.

  2. In Archiviazione dei dati, selezionare Condivisioni file e quindi scegliere +Condivisione file per creare una nuova condivisione file.

    Screenshot che mostra l'opzione Creazione di una condivisione file nel portale di Azure.

  3. Nella scheda Informazioni di base specificare il nome della condivisione file, ad esempio log shipping. È possibile lasciare il livello con l'impostazione predefinita per transazione ottimizzata.

  4. (Facoltativo) Nella scheda Backup, usare la casella di controllo per abilitare i backup della condivisione file per Backup di Azure.

  5. Selezionare Rivedi e crea per esaminare le impostazioni di condivisione file e quindi selezionare Crea per creare la nuova condivisione file.

Creare una directory di backup

Dopo aver creato la condivisione file, è necessario creare le due directory seguenti:

  • Directory per il database primario in cui scrivere i backup del log
  • Directory per il database secondario in cui copiare e ripristinare il backup del log

Per creare la directory usare la procedura seguente:

  1. Dopo che Azure ha creato la condivisione file, il portale torna alla pagina Panoramica per il nuovo file SMB.

  2. In Sfoglia, selezionare + Aggiungi directory. Specificare il nome della nuova directory, ad esempio backup dei log. Seleziona OK.

    Screenshot dell'opzione Aggiungi creazione directory nel portale di Azure.

  3. Ripetere il passaggio precedente per aggiungere una seconda directory, ad esempio restore-backups. Seleziona OK.

Connettere VM alle condivisioni file

Dopo aver creato le directory, connettere le macchine virtuali alla condivisione file.

Per determinare i dettagli della connessione, selezionare Connessione nella pagina Sfoglia o Panoramica della condivisione file per aprire la finestra di Connessione.

Screenshot dell’opzione Connetti la condivisione file nel portale di Azure.

La finestra di Connessione fornisce uno script per consentire a una risorsa di accedere alla condivisione file. Facoltativamente, modificare la lettera di unità per montare la condivisione file nella macchina virtuale. Questa guida usa una chiave dell'account di archiviazione per una macchina virtuale Windows.

Selezionare Mostra script per visualizzare lo script, copiarlo e quindi eseguirlo in ogni macchina virtuale di SQL Server in cui si prevede di configurare il log shipping.

Dopo aver eseguito lo script Connessione, è possibile usare il cmdlet di PowerShell seguente per verificare la connettività alla porta 445:

Test-NetConnection -ComputerName yourstorageaccount.file.core.windows.net -Port 445

Se il test di connessione ha esito positivo, viene visualizzato un output di TcpTestSucceeded : True.

Concedere a SQL Server l'accesso alla condivisione file

Dopo che le macchine virtuali di SQL Server possono connettersi correttamente alla condivisione file, concedere all'account del servizio SQL Server l'autorizzazione per accedere alla condivisione file creando una credenziale in SQL Server usando l'URL, il nome utente e la password dallo script di Connessione.

Per creare le credenziali, abilitare xp_cmdshell e usarlo per creare le credenziali prima di disabilitarle xp_cmdshell di nuovo.

Per concedere all'account del servizio SQL Server l'accesso alla condivisione file, seguire questa procedura in ogni istanza di SQL Server che si intende usare per il log shipping:

  1. Connessione alla macchina virtuale di SQL Server con un account che fa parte del ruolo sysadmin.

  2. Aprire SQL Server Management Studio (SSMS) e connettersi all'istanza di SQL Server.

  3. Aprire una nuova finestra di query ed eseguire il codice Transact-SQL seguente contenente i dettagli della chiave di archiviazione ottenuti dal portale di Azure:

    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    exec sp_configure 'xp_cmdshell', 1;
    RECONFIGURE;
    GO
    EXEC xp_cmdshell 'cmdkey /add:"yourstorageaccount.file.core.windows.net" /user:"localhost\yourstorageaccount" /pass:"<yourpasskey>"';
    GO
    EXEC sp_configure 'xp_cmdshell', 0;
    RECONFIGURE;
    GO
    

    Dopo aver eseguito il comando, SSMS conferma che le credenziali vengono aggiunte correttamente:

    Screenshot della conferma della creazione delle credenziali in SSMS.

Configurare il log shipping

Dopo che le istanze di SQL Server possono accedere alla condivisione file, usare SQL Server Management Studio (SSMS) per configurare il log shipping.

Per configurare il log shipping con un gruppo di disponibilità indipendente, seguire questi passaggi:

  1. Stabilire la connessione all'istanza primaria di SQL Server.

  2. Fare clic con il pulsante destro del mouse sul database che si vuole usare come database primario nella configurazione per il log shipping e quindi scegliere Proprietà.

  3. Nella casella Seleziona una pagina, fare clic su Log shipping delle transazioni.

  4. Selezionare la casella di controllo Abilita come database primario in una configurazione per il log shipping.

  5. In Backup del log delle transazioni, selezionare Impostazioni backup.

  6. Nella casella Percorso di rete della cartella di backup, digitare il percorso di rete della condivisione creata per la cartella di backup del log delle transazioni.

    Ad esempio: \\yourstorageaccount.file.core.windows.net\log-shipping\log-backups

  7. Configurare i parametri Elimina i file più vecchi di e Invia avviso se il backup non viene eseguito entro in base alle esigenze aziendali.

    1. Si noti la pianificazione di backup presente nella casella Pianificazione in Processo di backup. Per personalizzare la pianificazione dell'installazione, selezionare Pianificazione e quindi modificare la pianificazione di SQL Server Agent in base alle specifiche esigenze.

    2. SQL Server supporta la compressione dei backup. Quando si crea una configurazione per il log shipping, è possibile determinare il comportamento della compressione dei backup del log scegliendo una delle opzioni seguenti: Utilizza l'impostazione predefinita del server, Comprimi backupo Non comprimere il backup. Per altre informazioni, vedere Log Shipping Transaction Log Backup Settings.

    3. Per salvare le impostazioni, fare clic su OK.

  8. In Istanze del server e database secondari, selezionare Aggiungi.

  9. Fare clic su Connetti e connettersi all'istanza di SQL Server che si intende usare come server secondario.

    1. Nella casella Database secondario scegliere un database dall'elenco oppure digitare il nome del database che si desidera creare.

    2. Nella scheda Inizializza database secondario scegliere l'opzione che si intende utilizzare per inizializzare il database secondario.

    Nota

    Se si sceglie di consentire a SSMS di inizializzare il database secondario da un backup di database, i file di dati e di log del database secondario vengono inseriti nello stesso percorso dei file di dati e di log del master database master. Questo percorso sarà probabilmente diverso da quello dei file di dati e di log del database primario.

  10. Nella scheda Copia file, nella casella Cartella di destinazione per i file copiati, digitare il percorso della cartella in cui si desidera copiare i backup dei log delle transazioni, ad esempio la directory restore-backups creata per la condivisione file:

    \\yourstorageaccount.file.core.windows.net\log-shipping\restore-backups

    1. Si noti la pianificazione di copia presente nella casella Pianificazione in Processo di copia. Per personalizzare la pianificazione dell'installazione, selezionare Pianificazione e quindi modificare la pianificazione di SQL Server Agent in base alle specifiche esigenze. Questa pianificazione dovrebbe essere abbastanza simile alla pianificazione del backup.
  11. In Stato del database durante il ripristino dei backup nella scheda Ripristinoscegliere l'opzione Modalità nessun recupero oppure Modalità standby .

    Importante

    L'opzione Modalità standby è disponibile solo quando la versione del server primario e quella del server secondario sono uguali. Quando la versione principale del server secondario è maggiore di quella del server primario è consentita solo l'opzione Modalità nessun recupero.

    1. Se si seleziona l'opzione Modalità standby, scegliere se si desidera disconnettere gli utenti dal database secondario durante l'operazione di ripristino.

    2. Se si desidera posticipare il processo di ripristino sul server secondario, scegliere un tempo di ritardo in Ritardo minimo per il ripristino dei backup.

    3. Scegliere una soglia di avviso in Invia avviso se il ripristino non viene eseguito entro.

    4. Si noti la pianificazione di ripristino presente nella casella Pianificazione in Processo di ripristino. Per personalizzare la pianificazione dell'installazione, selezionare Pianificazione e quindi modificare la pianificazione di SQL Server Agent in base alle specifiche esigenze. Questa pianificazione dovrebbe essere abbastanza simile alla pianificazione del backup.

    5. Per salvare le impostazioni, fare clic su OK.

  12. (Facoltativo) In Istanza server di monitoraggio, selezionare la casella di controllo Usa un'istanza del server di monitoraggio e quindi selezionare Impostazioni.

    Importante

    Per eseguire il monitoraggio della configurazione per il log shipping, è necessario aggiungere subito il server di monitoraggio. Per aggiungere il server di monitoraggio in un momento successivo, sarà necessario rimuovere la configurazione per il log shipping e sostituirla con una configurazione nuova che includa un server di monitoraggio.

    1. Selezionare Connetti e connettersi all'istanza di SQL Server che si desidera utilizzare come server di monitoraggio.

    2. In Connessioni server di monitoraggioscegliere il metodo che i processi di backup, copia e ripristino devono utilizzare per la connessione al server di monitoraggio.

    3. In Periodo memorizzazione cronologiascegliere il periodo di memorizzazione dei record della cronologia di log shipping.

    4. Per salvare le impostazioni, fare clic su OK.

  13. Nella finestra di dialogo Proprietà database fare clic su OK per iniziare il processo di configurazione.