Mettre à niveau des bases de données répliquéesUpgrade Replicated Databases

Cette rubrique s’applique à : OuiSQL Serveraucunbase de données SQL AzureaucunAzure SQL Data Warehouse aucun Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse SQL ServerSQL Server prend en charge la mise à niveau des bases de données répliquées à partir des versions précédentes de SQL ServerSQL Server ; il n’est pas nécessaire d’interrompre l’activité des autres nœuds lorsqu’un nœud est en cours de mise à niveau. SQL ServerSQL Server 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. Prenez soin de respecter les règles relatives aux versions qui sont prises en charge dans une topologie :Ensure that you adhere to the rules regarding which versions are supported in a topology:

  • Toute version convient pour le serveur de distribution dès lors qu'elle est égale ou supérieure à celle du serveur de publication (en général, l'instance du serveur de distribution est la même que celle du serveur de publication).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).

  • Toute version convient pour le serveur de publication dès lors qu'elle est inférieure ou égale à celle du serveur de distribution.A Publisher can be any version as long as it less than or equal to the Distributor version.

  • La version de l'Abonné dépend du type de publication :Subscriber version depends on the type of publication:

    • La version d'un Abonné à une publication transactionnelle peut être n'importe laquelle des deux versions du serveur de publication.A Subscriber to a transactional publication can be any version within two versions of the Publisher version. Par exemple : un serveur de publication SQL Server 2012SQL Server 2012 peut avoir des Abonnés SQL Server 2014SQL Server 2014 et SQL Server 2016SQL Server 2016 , et un serveur de publication SQL Server 2016SQL Server 2016 peut avoir des Abonnés SQL Server 2014SQL Server 2014 et 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.

    • La version d'un Abonné à une publication de fusion peut être toute version inférieure ou égale à celle du serveur de publication.A Subscriber to a merge publication can be any version less than or equal to the Publisher version.

Note

Cette rubrique est disponible dans la documentation d'aide du programme d'installation et dans la documentation en ligne de SQL ServerSQL Server .This topic is available in the Setup Help documentation and in SQL ServerSQL Server Books Online. Les liens vers des rubriques qui s'affichent en gras dans la documentation d'aide du programme d'installation font référence à des rubriques qui sont exclusivement disponibles dans la documentation en ligne.Topic links that appear as bold text in the Setup Help documentation refer to topics that are only available in Books Online. Vous pouvez concevoir une stratégie de mise à niveau pour le serveur de publication, l’abonné et le serveur de distribution en utilisant les options décrites dans ce billet.You can design an upgrade strategy for the Publisher, Subscriber and Distributor using the options outlined in this post.

Exécuter l'Agent de lecture du journal pour la réplication transactionnelle avant la mise à niveauRun the Log Reader Agent for Transactional Replication Before Upgrade

Avant d’effectuer la mise à niveau de SQL ServerSQL Server, vous devez vérifier que toutes les transactions validées des tables publiées ont été traitées par l’Agent de lecture du journal.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. Pour vous assurer que toutes les transactions ont été traitées, effectuez les étapes suivantes pour chaque base de données qui contient des publications transactionnelles :To make sure that all transactions have been processed, perform the following steps for each database that contains transactional publications:

  1. Assurez-vous que l'Agent de lecture du journal s'exécute pour la base de données.Make sure that the Log Reader Agent is running for the database. Par défaut, cet agent s'exécute en permanence.By default, the agent runs continuously.

  2. Arrêtez l'activité des utilisateurs sur les tables publiées.Stop user activity on published tables.

  3. Laissez à l'Agent de lecture du journal le temps de copier des transactions vers la base de données de distribution, puis arrêtez-le.Allow time for the Log Reader Agent to copy transactions to the distribution database, and then stop the agent.

  4. Exécutez sp_replcmds pour vérifier que toutes les transactions ont été traitées.Execute sp_replcmds to verify that all transactions have been processed. Le jeu de résultats de cette procédure doit être vide.The result set from this procedure should be empty.

  5. Exécutez sp_replflush pour fermer la connexion à partir de sp_replcmds.Execute sp_replflush to close the connection from sp_replcmds.

  6. Effectuez la mise à niveau du serveur vers la version la plus récente de SQL ServerSQL Server.Perform the server upgrade to the latest verison of SQL ServerSQL Server.

  7. Redémarrez l'Agent SQL ServerSQL Server et l'Agent de lecture du journal s'ils ne démarrent pas automatiquement après la mise à niveau.Restart SQL ServerSQL Server Agent and the Log Reader Agent if they do not start automatically after the upgrade.

Exécution des agents de réplication de fusion après la mise à niveauRun Agents for Merge Replication After Upgrade

Après la mise à niveau, exécutez l'Agent d'instantané pour chaque publication de fusion et l'Agent de fusion pour chaque abonnement afin de mettre à jour les métadonnées de réplication.After upgrade, run the Snapshot Agent for each merge publication and the Merge Agent for each subscription to update replication metadata. Vous n'avez pas à appliquer le nouvel instantané, car il n'est pas nécessaire pour réinitialiser les abonnements.You do not have to apply the new snapshot, because it is not necessary to reinitialize subscriptions. Les métadonnées d'abonnement sont mises à jour lors de la première exécution de l'Agent de fusion après la mise à niveau.Subscription metadata is updated the first time the Merge Agent is run after upgrade. Ceci signifie que la base de données d'abonnement peut rester en ligne et active durant la mise à niveau du serveur de publication.This means that the subscription database can remain online and active during the Publisher upgrade.

La réplication de fusion stocke les métadonnées de publication et d'abonnement dans un certain nombre de tables système des bases de données de publication et d'abonnement.Merge replication stores publication and subscription metadata in a number of system tables in the publication and subscription databases. L'Agent d'instantané met à jour les métadonnées de publication et l'Agent de fusion met à jour les métadonnées d'abonnement.Running the Snapshot Agent updates publication metadata and running the Merge Agent updates subscription metadata. Il faut uniquement générer un instantané de publication.It is only required to generate a publication snapshot. Si une publication de fusion utilise des filtres paramétrés, chaque partition a également un instantané.If a merge publication uses parameterized filters, each partition also has a snapshot. Il n'est pas nécessaire de mettre à jour ces instantanés partitionnés.It is not necessary to update these partitioned snapshots.

Exécutez les agents à partir de SQL Server Management StudioSQL Server Management Studio, du moniteur de réplication ou de la ligne de commande.Run the agents from SQL Server Management StudioSQL Server Management Studio, Replication Monitor, or from the command line. Pour plus d'informations sur l'exécution de l'Agent d'instantané, consultez les rubriques suivantes :For more information about running the Snapshot Agent, see the following topics:

Mise à niveau vers les éditions Standard, Workgroup ou ExpressUpgrading to Standard, Workgroup, or Express Editions

Avant la mise à niveau d’une édition de SQL ServerSQL Server vers une autre, vérifiez que les fonctionnalités que vous utilisez actuellement sont prises en charge dans l’édition vers laquelle vous mettez à niveau.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. Pour plus d’informations, consultez la section sur la réplication dans Fonctionnalités prises en charge par les éditions de SQL Server.For more information, see the section on Replication in Editions and supported features of SQL Server.

Synchronisation Web pour la réplication de fusionWeb Synchronization for Merge Replication

L'option de synchronisation Web pour la réplication de fusion requiert la copie de l'Écouteur de réplication SQL ServerSQL Server (replisapi.dll) dans le répertoire virtuel sur le serveur IIS (Internet Information Services) utilisé pour la synchronisation.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. Lorsque vous configurez la synchronisation Web, le fichier est copié dans le répertoire virtuel par l'Assistant Configuration de la synchronisation Web.When you configure Web synchronization, the file is copied to the virtual directory by the Configure Web Synchronization Wizard. Si vous mettez à niveau les composants SQL ServerSQL Server installés sur le serveur IIS, vous devez manuellement copier replisapi.dll depuis le répertoire COM vers le répertoire virtuel sur le serveur 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. Pour plus d’informations sur la synchronisation web, consultez Configuration de la synchronisation web.For more information about configuring Web synchronization, see Configure Web Synchronization.

Restauration d'une base de données répliquée à partir d'une version antérieureRestoring a Replicated Database from an Earlier Version

Pour vous assurer que les paramètres de réplication sont conservés lorsque vous restaurez la sauvegarde d'une base de données répliquée à partir d'une version précédente : effectuez la restauration vers un serveur et une base de données du même nom que le serveur et la base de données à l'origine de la sauvegarde.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.

Voir aussiSee Also

Administration (réplication) Administration (Replication)
Compatibilité descendante de la réplication Replication Backward Compatibility
Nouveautés (Réplication) What's New (Replication)
Mises à niveau de la version et de l'édition prises en charge Supported Version and Edition Upgrades
Mise à niveau vers SQL ServerUpgrade SQL Server