Aggiornamento di istanze con mirroringUpgrading Mirrored Instances

Quando si aggiorna un'istanza con mirroring di SQL ServerSQL Server a una nuova versione di SQL Server 2017SQL Server 2017 , a un nuovo Service Pack o aggiornamento cumulativo di SQL ServerSQL Serveroppure a un nuovo Service Pack o aggiornamento cumulativo di Windows, è possibile ridurre i tempi di inattività per ogni database con mirroring a un singolo failover manuale eseguendo un aggiornamento in sequenza o due failover manuali in caso di failback all'istanza primaria originale.When upgrading a SQL ServerSQL Server mirrored instance to a new SQL Server 2017SQL Server 2017 version, to a new SQL ServerSQL Serverservice pack or cumulative update, or to a new Windows service pack or cumulative update, you can reduce downtime for each mirrored database to only a single manual failover by performing a rolling upgrade (or two manual failovers if failing back to the original primary). L'aggiornamento in sequenza è un processo in più fasi che, nella forma più semplice, implica l'aggiornamento dell'istanza di SQL Server 2017SQL Server 2017 che in quel momento funge da server mirror in una sessione di mirroring, seguito dal failover manuale del database con mirroring, dall'aggiornamento della prima istanza principale di SQL Server 2017SQL Server 2017 e dalla ripresa del mirroring.A rolling upgrade is a multi-stage process that in its simplest form involves upgrading the SQL Server 2017SQL Server 2017 instance that is currently acting as the mirror server in a mirroring session, then manually failing over the mirrored database, upgrading the former principal SQL Server 2017SQL Server 2017 instance, and resuming mirroring. Nella pratica, il processo esatto dipende dalla modalità operativa, nonché dal numero e dal layout della sessione di mirroring in esecuzione nelle istanze di SQL Server 2017SQL Server 2017 da aggiornare.In practice, the exact process will depend on the operating mode and the number and layout of mirroring session running on the SQL Server 2017SQL Server 2017 instances that you are upgrading.

Nota

Per informazioni sull'uso del mirroring del database con log shipping durante una migrazione, scaricare il white paper Database Mirroring and Log Shipping(Mirroring del database e log shipping).For information on using database mirroring with log shipping during a migration, download this Database Mirroring and Log Shipping whitepaper.

PrerequisitiPrerequisites

Prima di iniziare, esaminare le informazioni seguenti:Before you begin, review the following important information:

  • Supported Version and Edition Upgrades: verificare che sia possibile eseguire l'aggiornamento a SQL Server 2016 dalla versione del sistema operativo Windows e di SQL Server.Supported Version and Edition Upgrades: Verify that you can upgrade to SQL Server 2016 from your version of the Windows operating system and version of SQL Server. Ad esempio, non è possibile eseguire l'aggiornamento diretto da un'istanza di SQL Server 2005 a SQL Server 2017SQL Server 2017.For example, you cannot upgrade directly from a SQL Server 2005 instance to SQL Server 2017SQL Server 2017.

  • Choose a Database Engine Upgrade Method: selezionare il metodo e la procedura di aggiornamento appropriati in base alla verifica degli aggiornamenti della versione e dell'edizione supportate e anche agli altri componenti installati nell'ambiente interessato per aggiornare i componenti nell'ordine corretto.Choose a Database Engine Upgrade Method: Select the appropriate upgrade method and steps based on your review of supported version and edition upgrades and also based on other components installed in your environment to upgrade components in the correct order.

  • Pianificare e testare il piano di aggiornamento del motore di database: esaminare le note sulla versione, i problemi di aggiornamento noti, l'elenco di controllo pre-aggiornamento e sviluppare e testare il piano di aggiornamento.Plan and Test the Database Engine Upgrade Plan: Review the release notes and known upgrade issues, the pre-upgrade checklist, and develop and test the upgrade plan.

  • Requisiti hardware e software per l'installazione di SQL Server 2016: esaminare i requisiti software per l'installazione di SQL Server 2017SQL Server 2017.Hardware and Software Requirements for Installing SQL Server 2016: Review the software requirements for installing SQL Server 2017SQL Server 2017. Se è necessario software aggiuntivo, installarlo in ogni nodo prima di iniziare il processo di aggiornamento per ridurre al minimo eventuali tempi di inattività.If additional software is required, install it on each node before you begin the upgrade process to minimize any downtime.

Prima di avviare un aggiornamento in sequenza, si consiglia di effettuare le operazioni seguenti:Before starting a rolling upgrade, we recommend that you:

  1. Eseguire un failover manuale di prova su almeno una delle sessioni di mirroring:Perform a practice manual failover on at least one of your mirroring sessions:

    Nota

    Per informazioni sul funzionamento del failover manuale, vedere Cambio di ruolo durante una sessione di mirroring del database (SQL Server).For information about how manual failover works, see Role Switching During a Database Mirroring Session (SQL Server).

  2. Proteggere i dati:Protect your data:

    1. Eseguire un backup completo di ogni database principale:Perform a full database backup on every principal database:

      Creazione di un backup completo del database (SQL Server).Create a Full Database Backup (SQL Server).

    2. Eseguire il comando DBCC CHECKDB in ogni database principale.Run the DBCC CHECKDB command on every principal database.

Fasi di un aggiornamento in sequenzaStages of a Rolling Upgrade

I passaggi specifici di un aggiornamento in sequenza dipendono dalla modalità operativa della configurazione del mirroring.The specific steps of a rolling upgrade depend on the operating mode of the mirroring configuration. Tuttavia, le fasi di base sono identiche.However, the basic stages are the same.

Nota

Per altre informazioni sulle modalità di funzionamento, vedere Modalità di funzionamento del mirroring del database.For information about the operating modes, see Database Mirroring Operating Modes.

Nel diagramma di flusso della figura seguente vengono illustrate le fasi di base di un aggiornamento in sequenza per ogni modalità operativa.The following illustration is a flowchart that shows the basic stages of a rolling upgrade for each operating mode. Le procedure corrispondenti vengono descritte dopo l'illustrazione.The corresponding procedures are described after the illustration.

Diagramma di flusso che illustra la procedura di un aggiornamento in sequenzaFlowchart showing steps of a rolling upgrade

Importante

Un'istanza del server potrebbe ricoprire ruoli di mirroring diversi (server principale, server mirror o server di controllo del mirroring) in sessioni di mirroring simultanee.A server instance might be performing different mirroring roles (principal server, mirror server, or witness) in concurrent mirroring sessions. In questo caso, è necessario adattare di conseguenza il processo di aggiornamento in sequenza di base.In this case, you will have to adapt the basic rolling upgrade process accordingly. Per altre informazioni, vedere Cambio di ruolo durante una sessione di mirroring del database (SQL Server)(Mirroring del database e log shipping).For more information, see Role Switching During a Database Mirroring Session (SQL Server).

Nota

In molti casi, dopo aver completato l'aggiornamento in sequenza, sarà possibile eseguire il failback al server principale originale.In many cases, after the rolling upgrade is completed, you will failback to the original principal server.

Per modificare la modalità di una sessione dalla modalità a elevate prestazioni alla modalità a protezione elevataTo change a session from high-performance mode to high-safety mode

  1. Se una sessione di mirroring viene eseguita in modalità a elevate prestazioni, prima di eseguire un aggiornamento in sequenza impostare la modalità operativa su protezione elevata senza failover automatico.If a mirroring session is running in high-performance mode, before you perform a rolling upgrade, change the operating mode to high safety without automatic failover.

    Importante

    Se il server mirror è geograficamente distante dal server principale, un aggiornamento in sequenza potrebbe non essere appropriato.If the mirror server is geographically distant from the principal server, a rolling upgrade might be inappropriate.

Per rimuovere un server di controllo del mirroring da una sessioneTo remove a witness from a session

  1. Se una sessione di mirroring prevede un server di controllo del mirroring, si consiglia di rimuoverlo prima di eseguire un aggiornamento in sequenza.If a mirroring session involves a witness, we recommend that you remove the witness before you perform a rolling upgrade. 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.Otherwise, when the mirror server instance is being upgraded, database availability depends on the witness that remains connected to the principal server instance. Dopo avere rimosso un server di controllo del mirroring, è possibile aggiornarlo in qualsiasi momento durante il processo di aggiornamento in sequenza senza rischiare alcun tempo di inattività del database.After you remove a witness, you can upgrade it at any time during the rolling upgrade process without risking database downtime.

Per eseguire l'aggiornamento in sequenzaTo perform the rolling upgrade

  1. Per ridurre al minimo i tempi di inattività, si consiglia di applicare la seguente procedura: avviare l'aggiornamento in sequenza aggiornando qualsiasi server partner di mirroring che è attualmente il server mirror in tutte le sue sessioni di mirroring.To minimize downtime, we recommend the following: Start the rolling upgrade by updating any mirroring partner that is currently the mirror server in all its mirroring sessions. In questa fase potrebbe essere necessario aggiornare più istanze del server.You might have to update multiple server instances at this point.

    Nota

    Un server di controllo del mirroring può essere aggiornato in qualsiasi punto nel processo di aggiornamento in sequenza.A witness can be upgraded at any point in the rolling upgrade process. Ad esempio, se un'istanza del server è un server mirror nella sessione 1 e un server di controllo del mirroring nella sessione 2, è possibile aggiornare l'istanza del server.For example, if a server instance is a mirror server in Session 1 and is a witness in Session 2, you can upgrade the server instance now.

    L'istanza del server da aggiornare per prima dipende dalla configurazione corrente delle sessioni di mirroring, ovvero:The server instance to upgrade first depends on the current configuration of your mirroring sessions, as follows:

    • Se un'istanza server è già il server mirror in tutte le sue sessioni di mirroring, aggiornare l'istanza server alla nuova versione.If any server instance is already the mirror server in all its mirroring sessions, upgrade the server instance to the new version.

    • Se tutte le istanze server sono attualmente il server principale in tutte le sessioni di mirroring, selezionare un'istanza server da aggiornare per prima.If all your server instances are currently the principal server in any mirroring sessions, select one server instance to upgrade first. Quindi, eseguire manualmente il failover su ciascuno dei database principali e aggiornare tale istanza server.Then, manually fail over each of its principal databases and upgrade that server instance.

      Dopo aver eseguito l'aggiornamento, un'istanza del server reintegra automaticamente ciascuna delle sue sessioni di mirroring.After being upgraded, a server instance automatically rejoins each of its mirroring sessions.

  2. Attendere la sincronizzazione di ciascuna sessione di mirroring la cui istanza del server mirror è stata appena aggiornata.For each mirroring session whose mirror server instance has just been upgraded, wait for the session to synchronize. Quindi, connettersi all'istanza del server principale ed eseguire manualmente il failover della sessione.Then, connect to the principal server instance, and manually fail over the session. Con il failover, l'istanza del server aggiornata diventa il server principale per la sessione e il server principale precedente diventa il server mirror.On failover, the upgraded server instance becomes the principal server for that session, and the former principal server becomes the mirror server.

    L'obiettivo di questo passaggio è consentire a un'altra istanza del server di diventare il server mirror in tutte le sessione di mirroring in cui è un server partner.The goal of this step is for another server instance to become the mirror server in every mirroring session in which it is a partner.

    Restrizioni dopo l'esecuzione del failover in un'istanza server aggiornata.Restrictions after you failover to an upgraded server instance.

    Dopo il failover da un'istanza del server precedente a un'istanza del server SQL Server 2017SQL Server 2017 , la sessione del database viene sospesa.After failing over from an earlier server instance to a SQL Server 2017SQL Server 2017 server instance, the database session is suspended. Non può essere ripristinata finché l'altro server partner non sarà stato aggiornato.It cannot be resumed until the other partner has been upgraded. Tuttavia, il server principale continua ad accettare connessioni e a consentire l'accesso ai dati e le modifiche sul database principale.However, the principal server is still accepting connections and allowing data access and modifications on the principal database.

    Nota

    L'avvio di una nuova sessione di mirroring richiede che tutte le istanze server eseguano la stessa versione di SQL ServerSQL Server.Establishing a new mirroring session requires that the server instances all be running the same version of SQL ServerSQL Server.

  3. Dopo aver eseguito il failover, è consigliabile eseguire il comando DBCC CHECKDB sul database principale.After you fail over, we recommend that you run the DBCC CHECKDB command on the principal database.

  4. Aggiornare ciascuna istanza server che ora è il server mirror in tutte le sessioni di mirroring nelle quali è un server partner.Upgrade each server instance that is now the mirror server in all mirroring sessions in which it is a partner. In questa fase potrebbe essere necessario aggiornare più server.You might have to update multiple servers at this point.

    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.In a complex mirroring configuration, some server instance might still be the original principal server in one or more mirroring sessions. Ripetere i passaggi da 2 a 4 per tali istanze del server finché tutte le istanze coinvolte non sono state aggiornate.Repeat steps 2–4 for those server instances until all instances involved are upgraded.

  5. Riprendere la sessione di mirroring.Resume the mirroring session.

    Nota

    Il failover automatico funziona solo dopo che il server di controllo è stato aggiornato e aggiunto nuovamente nella sessione di mirroring.Automatic failover will not work until the witness has been upgraded and added back into the mirroring session.

  6. Aggiornare le istanze server rimanenti che sono il server di controllo del mirroring in tutte le sue sessioni di mirroring.Upgrade any remaining server instance that is the witness in all its mirroring sessions. Dopo che un server di controllo del mirroring aggiornato integra una sessione di mirroring, il failover automatico diventa nuovamente possibile.After an upgraded witness rejoins a mirroring session, automatic failover becomes possible again. In questa fase potrebbe essere necessario aggiornare più server.You might have to update multiple servers at this point.

Per ripristinare una sessione alla modalità a elevate prestazioniTo return a session to high-performance mode

  1. Facoltativamente, tornare alla modalità a elevate prestazioni utilizzando uno dei metodi seguenti:Optionally, return to high-performance mode by using one of the following methods:

    • In SQL Server Management StudioSQL Server Management Studio: modificare l'opzione Modalità operativa e impostarla su Prestazioni elevate (asincrona) usando la pagina Mirroring della finestra di dialogo Proprietà database .In SQL Server Management StudioSQL Server Management Studio: Change the Operating mode option to High performance (asynchronous) by using the Mirroring Page of the Database Properties dialog box.

    • In Transact-SQLTransact-SQL: usare ALTER DATABASEper impostare la protezione della transazione su OFF.In Transact-SQLTransact-SQL: Use ALTER DATABASEto set transaction safety to OFF.

Per aggiungere un server di controllo nuovamente in una sessione di mirroringTo add a witness back into a mirroring session

  1. Facoltativamente, nella modalità a protezione elevata, ristabilire il server di controllo del mirroring su ciascuna sessione di mirroring.Optionally, in high-safety mode, reestablish the witness to each mirroring session.

    Per integrare un server di controllo del mirroringTo return a witness

Vedere ancheSee Also

Eseguire l'aggiornamento a SQL Server 2016 usando l'Installazione guidata (programma di installazione) Upgrade to SQL Server 2016 Using the Installation Wizard (Setup)
Installazione di SQL Server 2016 dal prompt dei comandi Install SQL Server 2016 from the Command Prompt
Mirroring del database di ALTER DATABASE (Transact-SQL) ALTER DATABASE Database Mirroring (Transact-SQL)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
Visualizzazione dello stato di un database con mirroring (SQL Server Management Studio) View the State of a Mirrored Database (SQL Server Management Studio)
Mirroring del database (SQL Server) Database Mirroring (SQL Server)
Cambio di ruolo durante una sessione di mirroring del database (SQL Server) Role Switching During a Database Mirroring Session (SQL Server)
Utilizzo forzato del servizio in una sessione di mirroring del database (Transact-SQL) Force Service in a Database Mirroring Session (Transact-SQL)
Avviare il monitoraggio mirroring del database (SQL Server Management Studio) Start Database Mirroring Monitor (SQL Server Management Studio)
Database Mirroring Operating ModesDatabase Mirroring Operating Modes