Condividi tramite


Ridurre al minimo i tempi di inattività per i database con mirroring durante l'aggiornamento delle istanze del server

Quando si aggiornano le istanze del server a SQL Server 2014, è possibile ridurre i tempi di inattività per ogni database mirroring a un singolo failover manuale eseguendo un aggiornamento sequenziale, noto come aggiornamento a rotazione. Un aggiornamento in sequenza è un processo a più fasi che nel suo formato più semplice comporta l'aggiornamento dell'istanza del server che attualmente funge da server mirror durante una sessione di mirroring, quindi il failover manuale del database replicato, l'aggiornamento del server principale precedente e la ripresa del mirroring. In pratica, il processo esatto dipende dalla modalità operativa e dal numero e dal layout della sessione di mirroring in esecuzione nelle istanze del server da aggiornare.

Annotazioni

Per informazioni sull'esecuzione di un aggiornamento in sequenza per installare un Service Pack o un hotfix, vedere Installare un Service Pack in un sistema con tempi di inattività minimi per i database con mirroring.

Preparazione consigliata (procedure consigliate)

Prima di avviare un aggiornamento in sequenza, è consigliabile:

  1. Esegui un failover manuale di prova in almeno una delle sessioni di mirroring.

    Annotazioni

    Per informazioni sul funzionamento del failover manuale, vedere Cambio di ruolo durante una sessione di mirroring del database (SQL Server).

  2. Proteggi i tuoi dati:

    1. Eseguire un backup completo del database su ogni database principale.

      Creare un backup completo del database (SQL Server).

    2. Eseguire il comando DBCC CHECKDB in ogni database principale.

Fasi di un aggiornamento in sequenza

I passaggi specifici di un aggiornamento in sequenza dipendono dalla modalità operativa della configurazione del mirroring. Tuttavia, le fasi di base sono le stesse.

Annotazioni

Per informazioni sulle modalità operative, vedere Modalità operative del mirroring del database.

La figura seguente è un diagramma di flusso che mostra le fasi di base di un aggiornamento in sequenza per ogni modalità operativa. Le procedure corrispondenti vengono descritte dopo l'illustrazione.

Diagramma di flusso che mostra i passaggi di un aggiornamento continuo

Importante

Un'istanza del server potrebbe eseguire ruoli di mirroring diversi (server principale, server mirror o osservatore) in sessioni di mirroring concorrenti. In questo caso, sarà necessario adattare di conseguenza il processo di aggiornamento in sequenza di base. Per altre informazioni, vedere Cambio di ruolo durante una sessione di mirroring del database (SQL Server).

Per modificare una sessione dalla modalità a prestazioni elevate alla modalità a sicurezza elevata

  1. Se una sessione di mirroring è in esecuzione in modalità a prestazioni elevate, prima di eseguire un aggiornamento in sequenza, impostare la modalità operativa su sicurezza elevata senza failover automatico.

    Importante

    Se il server mirror è geograficamente distante dal server principale, un aggiornamento in sequenza potrebbe non essere appropriato.

Per rimuovere un testimone da una sessione

  1. Se una sessione di mirroring prevede un testimone, consigliamo di rimuovere il testimone prima di effettuare un aggiornamento progressivo. In caso contrario, quando l'istanza del server mirror viene aggiornata, la disponibilità del database dipende dal server di controllo del mirroring che rimane connesso all'istanza del server principale. Dopo aver rimosso un testimone, è possibile aggiornarlo in qualsiasi momento durante il processo di aggiornamento progressivo senza il rischio di interrompere il funzionamento del database.

Per eseguire l'aggiornamento progressivo

  1. Per ridurre al minimo i tempi di inattività, è consigliabile avviare l'aggiornamento in sequenza aggiornando qualsiasi partner di mirroring attualmente presente nel server mirror in tutte le sessioni di mirroring. A questo punto potrebbe essere necessario aggiornare più istanze del server.

    Annotazioni

    Un testimone può essere aggiornato in qualsiasi momento nel processo di aggiornamento progressivo. Ad esempio, se un'istanza del server è un'istanza mirror nella sessione 1 ed è un'istanza witness nella sessione 2, è ora possibile aggiornare l'istanza del server.

    L'istanza del server da aggiornare dipende innanzitutto dalla configurazione corrente delle sessioni di mirroring, come indicato di seguito:

    • Se un'istanza del server è già il server mirror in tutte le sue sessioni di mirroring, occorre aggiornare l'istanza del server alla nuova versione.

    • Se tutte le istanze del server sono attualmente il server principale in qualsiasi sessione di mirroring, selezionare prima un'istanza del server da aggiornare. Eseguire quindi manualmente il failover di ognuno dei relativi database principali e aggiornare l'istanza del server.

    Dopo l'aggiornamento, un'istanza del server si riconnette automaticamente a ciascuna delle sue sessioni di mirroring.

  2. Per ogni sessione di mirroring di cui è stata appena aggiornata l'istanza del server mirror, attendere la sincronizzazione della sessione. Connettersi quindi all'istanza del server principale e eseguire manualmente il failover della sessione. In caso di failover, l'istanza del server aggiornata diventa il server principale per la sessione e il server principale precedente diventa il server mirror.

    L'obiettivo di questo passaggio è che un'altra istanza del server diventi il server mirror in ogni sessione di mirroring in cui è partner.

    Restrizioni dopo aver effettuato il failover su un'istanza del server aggiornata.

    Dopo il failover da un'istanza del server precedente a un'istanza del server SQL Server 2014, la sessione del database viene sospesa. Non può essere ripreso fino a quando l'altro partner non è stato aggiornato. Tuttavia, il server principale sta ancora accettando connessioni e consentendo l'accesso ai dati e le modifiche nel database principale.

    Annotazioni

    Per stabilire una nuova sessione di mirroring è necessario che tutte le istanze del server eseguano la stessa versione di SQL Server.

  3. Dopo il failover, si raccomanda di eseguire il comando DBCC CHECKDB nel database principale.

  4. Aggiornare ogni istanza del server che attualmente rappresenta il server mirror in tutte le sessioni di mirroring in cui è un partner. A questo punto potrebbe essere necessario aggiornare più server.

    Importante

    In una configurazione di mirroring complessa, alcune istanze del server potrebbero essere ancora il server principale originale in una o più sessioni di mirroring. Ripetere i passaggi da 2 a 4 per tali istanze del server fino a quando non vengono aggiornate tutte le istanze coinvolte.

  5. Riprendere la sessione di mirroring.

    Annotazioni

    Il failover automatico non funzionerà finché il testimone non viene aggiornato e aggiunto nuovamente alla sessione di mirroring.

  6. Aggiornare qualsiasi istanza del server rimanente che funge da testimone in tutte le sue sessioni di mirroring. Dopo che un testimone aggiornato si riunisce a una sessione di mirroring, il failover automatico diventa nuovamente possibile. A questo punto potrebbe essere necessario aggiornare più server.

Per restituire una sessione alla modalità a prestazioni elevate

  1. Facoltativamente, tornare alla modalità a prestazioni elevate usando uno dei metodi seguenti:

    • In SQL Server Management Studio: modificare l'opzione Modalità operativa su Prestazioni elevate (asincrona) usando la pagina Mirroring della finestra di dialogo Proprietà database .

    • In Transact-SQL: usare ALTER DATABASEper impostare la sicurezza delle transazioni su OFF.

Per aggiungere un witness a una sessione di mirroring

  1. Opzionalmente, in modalità a sicurezza elevata, ristabilire il testimone per ogni sessione di mirroring.

    Per restituire un testimone

Vedere anche

Mirroring del database ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
Visualizzare lo stato di un database con mirroring (SQL Server Management Studio)
Mirroring del database (SQL Server)
Installare un Service Pack in un sistema con tempi di inattività minimi per i database con mirroring
Cambio di ruolo durante una sessione di mirroring del database (SQL Server)
Forzare il servizio in una sessione di mirroring del database (Transact-SQL)
Avvia il monitoraggio del mirroring del database (SQL Server Management Studio)
Modalità operative di mirroring del database