Aggiornare database replicati

 

SQL Server 2016 supporta l'aggiornamento di database replicati da versioni precedenti di SQL Server senza che sia necessario, durante l'aggiornamento di un nodo, arrestare le attività negli altri nodi. Verificare che vengano osservate le regole relative alle versioni supportate in una topologia:

  • La versione del server di distribuzione è indifferente, purché superiore o uguale alla versione del server di pubblicazione (in molti casi l'istanza del server di distribuzione è la stessa del server di pubblicazione).

  • La versione del server di pubblicazione è indifferente, purché inferiore o uguale alla versione del server di distribuzione.

  • La versione del Sottoscrittore dipende dal tipo di pubblicazione:

    • La versione di un Sottoscrittore per una pubblicazione transazionale può essere una versione qualsiasi all'interno di un intervallo di due versioni, in base alla versione del server di pubblicazione. Ad esempio: un server di pubblicazione SQL Server 2012 può avere i sottoscrittori SQL Server 2014 e SQL Server 2016, mentre un server di pubblicazione SQL Server 2016 può avere i sottoscrittori SQL Server 2014 e SQL Server 2012.

    • Un Sottoscrittore a una pubblicazione di tipo merge può essere qualsiasi versione inferiore o uguale alla versione del server di pubblicazione.

System_CAPS_ICON_note.jpg Nota


Questo argomento è disponibile nella Guida del programma di installazione e nella documentazione online di SQL Server. I collegamenti visualizzati in grassetto nella Guida del programma di installazione si riferiscono ad argomenti disponibili solo nella documentazione online.

Prima di eseguire l'aggiornamento a SQL Server 2016, è necessario assicurarsi che tutte le transazioni completate dalle tabelle pubblicate siano state elaborate dall'agente di lettura log. Per assicurarsi che tutte le transazioni siano state elaborate, eseguire i passaggi seguenti per ogni database che contiene pubblicazioni transazionali:

  1. Verificare che l'agente di lettura log sia in esecuzione per il database. Per impostazione predefinita, l'agente viene eseguito in modo continuativo.

  2. Arrestare l'attività dell'utente nelle tabelle pubblicate.

  3. Concedere tempo all'agente di lettura log per copiare transazioni nel database di distribuzione, quindi arrestare l'agente.

  4. Eseguire sp_replcmds per verificare che siano state elaborate tutte le transazioni. Il set di risultati restituito da questa procedura deve essere vuoto.

  5. Eseguire sp_replflush per chiudere la connessione da sp_replcmds.

  6. Eseguire l'aggiornamento del server a SQL Server 2016.

  7. Riavviare SQL Server Agent e l'agente di lettura log se non vengono avviati automaticamente dopo l'aggiornamento.

Al termine dell'aggiornamento, eseguire l'agente snapshot per ogni pubblicazione di tipo merge e l'agente di merge per ogni sottoscrizione in modo da aggiornare i metadati della replica. Non occorre applicare il nuovo snapshot in quanto non è necessario reinizializzare le sottoscrizioni. I metadati delle sottoscrizioni vengono aggiornati alla prima esecuzione dell'agente di merge successiva all'aggiornamento. Ciò significa che il database di sottoscrizione può rimanere online e attivo durante l'aggiornamento del server di pubblicazione.

La replica di tipo merge archivia i metadati delle pubblicazioni e delle sottoscrizioni in alcune tabelle di sistema nei database di pubblicazione e sottoscrizione. L'esecuzione dell'agente snapshot aggiorna i metadati delle pubblicazioni e l'esecuzione dell'agente di merge aggiorna i metadati delle sottoscrizioni. È semplicemente richiesta la generazione di uno snapshot di pubblicazione. Se una pubblicazione di tipo merge utilizza filtri con parametri, ogni partizione includerà uno snapshot. Non è necessario aggiornare gli snapshot partizionati.

Eseguire gli agenti da SQL Server Management Studio, da Monitoraggio replica o dalla riga di comando. Per ulteriori informazioni sull'esecuzione dell'agente snapshot, vedere gli argomenti seguenti:

Per ulteriori informazioni sull'esecuzione dell'agente di merge, vedere gli argomenti seguenti:

Al termine dell'aggiornamento di SQL Server in una topologia in cui viene utilizzata una replica di tipo merge, modificare il livello di compatibilità di tutte le pubblicazioni se si desidera utilizzare le nuove funzionalità.

Prima di eseguire l'aggiornamento da un'edizione all'altra di SQL Server 2016, verificare che le funzionalità utilizzate siano supportate nell'edizione a cui si esegue l'aggiornamento. Per altre informazioni, vedere la sezione sulla replica in Funzionalità supportate dalle edizioni di SQL Server 2016.

L'opzione di sincronizzazione Web per la replica di tipo merge richiede che il listener per la replica di SQL Server (replisapi.dll) venga copiato nella directory virtuale nel server Internet Information Services (IIS) utilizzato per la sincronizzazione. Quando si configura la sincronizzazione Web, il file viene copiato nella directory virtuale dalla procedura di configurazione guidata della sincronizzazione Web. Se si aggiornano i componenti di SQL Server installati nel server IIS, è necessario copiare manualmente replisapi.dll dalla directory COM alla directory virtuale nel server IIS. Per altre informazioni sulla configurazione della sincronizzazione Web, vedere Configurazione della sincronizzazione Web.

Per verificare che in seguito al ripristino del backup di un database replicato vengano mantenute le impostazioni di replica di una versione precedente, eseguire il ripristino in un server e un database con gli stessi nomi del server e del database utilizzati per la creazione della copia di backup.

Amministrazione (Replica)
Compatibilità con le versioni precedenti della replica
Novità (Replica)
Aggiornamenti di versione ed edizione supportati
Eseguire l'aggiornamento a SQL Server 2016

Aggiunte alla community

AGGIUNGI
Mostra: