Share via


Failover su un database secondario per il log shipping

L'esecuzione del failover su un database secondario per il log shipping è utile in caso di errore o di manutenzione dell'istanza del server primario.

Preparazione di un failover controllato

I database primario e secondario non sono in genere sincronizzati, in quanto il database primario continua a essere aggiornato dopo l'ultimo processo di backup. In alcuni casi, inoltre, i backup del log delle transazioni recenti non sono stati copiati nelle istanze del server secondario oppure è possibile che alcuni backup del log copiati non siano stati ancora applicati al database secondario. Se possibile, è consigliabile iniziare con la sincronizzazione di tutti i database secondari con il database primario.

Per informazioni sui processi per il log shipping, vedere Panoramica del log shipping.

Esecuzione del failover

Per eseguire il failover su un database secondario, eseguire le operazioni seguenti:

  1. Copiare i file di backup non ancora copiati dalla condivisione di backup alla cartella di destinazione della copia in ogni server secondario.

  2. Applicare in sequenza i backup del log delle transazioni non ancora applicati a ogni database secondario. Per ulteriori informazioni, vedere Procedura: Applicazione del backup di un log delle transazioni (Transact-SQL).

  3. Se il database primario è accessibile, eseguire il backup del log delle transazioni attivo e applicarlo ai database secondari.

    Se l'istanza del server primario originale non è danneggiata, eseguire il backup della parte finale del log delle transazioni del database primario tramite WITH NORECOVERY. In questo modo il database resta nella stato di ripristino e pertanto non disponibile agli utenti. Infine è possibile eseguirne il rollforward applicando i backup del log delle transazioni del database primario da sostituire.

    Per ulteriori informazioni, vedere Utilizzo dei backup del log delle transazioni.

  4. Dopo la sincronizzazione dei server secondari, è possibile eseguire il failover su qualsiasi server recuperando il relativo database secondario e reindirizzando i client a quell'istanza del server. L'operazione di recupero consente di rendere consistente il database e di portarlo in linea. Per ulteriori informazioni, vedere Procedura: Recupero di un database da un backup senza eseguire il ripristino dei dati (Transact-SQL).

    [!NOTA]

    Quando si rende disponibile un database secondario, è necessario assicurarsi che i relativi metadati siano coerenti con quelli del database primario originale. Per ulteriori informazioni, vedere Gestione dei metadati quando si rende disponibile un database in un'altra istanza del server.

  5. Dopo il recupero di un database secondario, è possibile riconfigurarlo affinché funga da database primario per altri database secondari. Per ulteriori informazioni, vedere Modifica dei ruoli tra server primario e secondario.

    Se non sono disponibili altri database secondari, vedere Procedura: Attivazione della funzione di log shipping (SQL Server Management Studio) oppure Procedura: Abilitazione del log shipping (Transact-SQL).