Aggiornare database replicatiUpgrade Replicated Databases

SQL ServerSQL Server supporta l'aggiornamento di database replicati da versioni precedenti di SQL ServerSQL Server senza che sia necessario, durante l'aggiornamento di un nodo, arrestare le attività negli altri nodi. supports upgrading replicated databases from previous versions of SQL ServerSQL Server; it is not required to stop activity at other nodes while a node is being upgraded. Verificare che vengano osservate le regole relative alle versioni supportate in una topologia:Ensure that you adhere to the rules regarding which versions are supported in a topology:

  • 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).A Distributor can be any version as long as it is greater than or equal to the Publisher version (in many cases the Distributor is the same instance as the Publisher).

  • La versione del server di pubblicazione è indifferente, purché inferiore o uguale alla versione del server di distribuzione.A Publisher can be any version as long as it less than or equal to the Distributor version.

  • La versione del Sottoscrittore dipende dal tipo di pubblicazione:Subscriber version depends on the type of publication:

    • 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.A Subscriber to a transactional publication can be any version within two versions of the Publisher version. Ad esempio: un server di pubblicazione SQL Server 2012SQL Server 2012 può avere i sottoscrittori SQL Server 2014SQL Server 2014 e SQL Server 2016SQL Server 2016 , mentre un server di pubblicazione SQL Server 2016SQL Server 2016 può avere i sottoscrittori SQL Server 2014SQL Server 2014 e SQL Server 2012SQL Server 2012 .For example: a SQL Server 2012SQL Server 2012 Publisher can have SQL Server 2014SQL Server 2014 and SQL Server 2016SQL Server 2016 Subscribers; and a SQL Server 2016SQL Server 2016 Publisher can have SQL Server 2014SQL Server 2014 and SQL Server 2012SQL Server 2012 Subscribers.

    • Un Sottoscrittore a una pubblicazione di tipo merge può essere qualsiasi versione inferiore o uguale alla versione del server di pubblicazione.A Subscriber to a merge publication can be any version less than or equal to the Publisher version.

Nota

Questo argomento è disponibile nella Guida del programma di installazione e nella documentazione online di SQL ServerSQL Server .This topic is available in the Setup Help documentation and in SQL ServerSQL Server Books Online. I collegamenti visualizzati in grassetto nella Guida del programma di installazione si riferiscono ad argomenti disponibili solo nella documentazione online.Topic links that appear as bold text in the Setup Help documentation refer to topics that are only available in Books Online. È possibile pianificare una strategia di aggiornamento per il server di pubblicazione, sottoscrizione e distribuzione usando le opzioni descritte in questo post.You can design an upgrade strategy for the Publisher, Subscriber and Distributor using the options outlined in this post.

Esecuzione dell'agente di lettura log per la replica transazionale prima dell'aggiornamentoRun the Log Reader Agent for Transactional Replication Before Upgrade

Prima di eseguire l'aggiornamento di SQL ServerSQL Server, è necessario assicurarsi che tutte le transazioni completate dalle tabelle pubblicate siano state elaborate dall'agente di lettura log.Before you upgrade SQL ServerSQL Server, you must make sure that all committed transactions from published tables have been processed by the Log Reader Agent. Per assicurarsi che tutte le transazioni siano state elaborate, eseguire i passaggi seguenti per ogni database che contiene pubblicazioni transazionali:To make sure that all transactions have been processed, perform the following steps for each database that contains transactional publications:

  1. Verificare che l'agente di lettura log sia in esecuzione per il database.Make sure that the Log Reader Agent is running for the database. Per impostazione predefinita, l'agente viene eseguito in modo continuativo.By default, the agent runs continuously.

  2. Arrestare l'attività dell'utente nelle tabelle pubblicate.Stop user activity on published tables.

  3. Concedere tempo all'agente di lettura log per copiare transazioni nel database di distribuzione, quindi arrestare l'agente.Allow time for the Log Reader Agent to copy transactions to the distribution database, and then stop the agent.

  4. Eseguire sp_replcmds per verificare che siano state elaborate tutte le transazioni.Execute sp_replcmds to verify that all transactions have been processed. Il set di risultati restituito da questa procedura deve essere vuoto.The result set from this procedure should be empty.

  5. Eseguire sp_replflush per chiudere la connessione da sp_replcmds.Execute sp_replflush to close the connection from sp_replcmds.

  6. Eseguire l'aggiornamento del server alla versione più recente di SQL ServerSQL Server.Perform the server upgrade to the latest verison of SQL ServerSQL Server.

  7. Riavviare SQL ServerSQL Server Agent e l'agente di lettura log se non vengono avviati automaticamente dopo l'aggiornamento.Restart SQL ServerSQL Server Agent and the Log Reader Agent if they do not start automatically after the upgrade.

Esecuzione degli agenti per una replica di tipo merge dopo l'aggiornamentoRun Agents for Merge Replication After Upgrade

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.After upgrade, run the Snapshot Agent for each merge publication and the Merge Agent for each subscription to update replication metadata. Non occorre applicare il nuovo snapshot in quanto non è necessario reinizializzare le sottoscrizioni.You do not have to apply the new snapshot, because it is not necessary to reinitialize subscriptions. I metadati delle sottoscrizioni vengono aggiornati alla prima esecuzione dell'agente di merge successiva all'aggiornamento.Subscription metadata is updated the first time the Merge Agent is run after upgrade. Ciò significa che il database di sottoscrizione può rimanere online e attivo durante l'aggiornamento del server di pubblicazione.This means that the subscription database can remain online and active during the Publisher upgrade.

La replica di tipo merge archivia i metadati delle pubblicazioni e delle sottoscrizioni in alcune tabelle di sistema nei database di pubblicazione e sottoscrizione.Merge replication stores publication and subscription metadata in a number of system tables in the publication and subscription databases. L'esecuzione dell'agente snapshot aggiorna i metadati delle pubblicazioni e l'esecuzione dell'agente di merge aggiorna i metadati delle sottoscrizioni.Running the Snapshot Agent updates publication metadata and running the Merge Agent updates subscription metadata. È semplicemente richiesta la generazione di uno snapshot di pubblicazione.It is only required to generate a publication snapshot. Se una pubblicazione di tipo merge utilizza filtri con parametri, ogni partizione includerà uno snapshot.If a merge publication uses parameterized filters, each partition also has a snapshot. Non è necessario aggiornare gli snapshot partizionati.It is not necessary to update these partitioned snapshots.

Eseguire gli agenti da SQL Server Management StudioSQL Server Management Studio, da Monitoraggio replica o dalla riga di comando.Run the agents from SQL Server Management StudioSQL Server Management Studio, Replication Monitor, or from the command line. Per ulteriori informazioni sull'esecuzione dell'agente snapshot, vedere gli argomenti seguenti:For more information about running the Snapshot Agent, see the following topics:

Aggiornamento alle versioni Standard, Workgroup o ExpressUpgrading to Standard, Workgroup, or Express Editions

Prima di eseguire l'aggiornamento da un'edizione all'altra di SQL ServerSQL Server, verificare che le funzionalità utilizzate siano supportate nell'edizione a cui si esegue l'aggiornamento.Before upgrading from one edition of SQL ServerSQL Server to another, verify that the functionality you are currently using is supported in the edition to which you are upgrading. Per altre informazioni, vedere la sezione sulla replica in Edizioni e funzionalità supportate di SQL Server.For more information, see the section on Replication in Editions and supported features of SQL Server.

Sincronizzazione Web per la replica di tipo mergeWeb Synchronization for Merge Replication

L'opzione di sincronizzazione Web per la replica di tipo merge richiede che il listener per la replica di SQL ServerSQL Server (replisapi.dll) venga copiato nella directory virtuale nel server Internet Information Services (IIS) utilizzato per la sincronizzazione.The Web synchronization option for merge replication requires that the SQL ServerSQL Server Replication Listener (replisapi.dll) be copied to the virtual directory on the Internet Information Services (IIS) server used for synchronization. Quando si configura la sincronizzazione Web, il file viene copiato nella directory virtuale dalla procedura di configurazione guidata della sincronizzazione Web.When you configure Web synchronization, the file is copied to the virtual directory by the Configure Web Synchronization Wizard. Se si aggiornano i componenti di SQL ServerSQL Server installati nel server IIS, è necessario copiare manualmente replisapi.dll dalla directory COM alla directory virtuale nel server IIS.If you upgrade the SQL ServerSQL Server components installed on the IIS server, you must manually copy replisapi.dll from the COM directory to the virtual directory on the IIS server. Per altre informazioni sulla configurazione della sincronizzazione Web, vedere Configurazione della sincronizzazione Web.For more information about configuring Web synchronization, see Configure Web Synchronization.

Ripristino di un database replicato da una versione precedenteRestoring a Replicated Database from an Earlier Version

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.To ensure replication settings are retained when restoring a backup of a replicated database from a previous version: restore to a server and database with the same names as the server and database at which the backup was taken.

Vedere ancheSee Also

Amministrazione (Replica) Administration (Replication)
Compatibilità con le versioni precedenti della replica Replication Backward Compatibility
Novità (replica) What's New (Replication)
Aggiornamenti di versione ed edizione supportati Supported Version and Edition Upgrades
Eseguire l'aggiornamento di SQL ServerUpgrade SQL Server