Suspendre une topologie de réplication (programmation Transact-SQL de la réplication)

S’applique à : SQL Server Azure SQL Managed Instance

Suspendre un système revient à interrompre toute activité des tables publiées dans l’ensemble des nœuds, et à vérifier que chaque nœud a reçu toutes les modifications des autres nœuds. Cette rubrique explique comment suspendre une topologie de réplication, requise pour plusieurs tâches d'administration et comment garantir qu'un nœud a reçu toutes les modifications d'autres nœuds.

Pour suspendre une topologie de réplication transactionnelle avec les abonnements en lecture seule

  1. Arrêtez l'activité sur toutes les tables publiées sur le serveur de publication.

  2. Dans la base de données de publication sur le serveur de publication, exécutez sp_posttracertoken (Transact-SQL).

  3. Dans la base de données de publication sur le serveur de publication, exécutez sp_helptracertokenhistory.

  4. Assurez-vous que chaque Abonné a reçu le jeton de suivi.

Pour suspendre une topologie de réplication transactionnelle avec les abonnements pouvant être mis à jour

  1. Arrêtez l'activité sur toutes les tables publiées sur le serveur de publication et sur tous les Abonnés.

  2. Si tous les Abonnés utilisent des abonnements de mise à jour en attente :

    1. Si l'Agent de lecture de la file d'attente ne s'exécute pas en mode continu, exécutez l'Agent. Pour plus d’informations sur l’exécution des agents, consultez Concepts des exécutables de l’agent de réplication ou Démarrer et arrêter un Agent de réplication (SQL Server Management Studio).

    2. Pour vérifier que la file d'attente est vide, exécutez sp_replqueuemonitor sur chaque Abonné.

  3. Dans la base de données de publication sur le serveur de publication, exécutez sp_posttracertoken.

  4. Dans la base de données de publication sur le serveur de publication, exécutez sp_helptracertokenhistory.

  5. Assurez-vous que chaque Abonné a reçu le jeton de suivi.

Pour suspendre une topologie de réplication transactionnelle d'égal à égal

  1. Arrêtez l'activité sur toutes les tables publiées sur tous les nœuds.

  2. Exécutez sp_requestpeerresponse sur chaque base de données de publication dans la topologie.

  3. Si l'Agent de lecture du journal ou l'Agent de distribution ne s'exécute pas en mode continu, exécutez l'Agent. L'Agent de lecture du journal doit être démarré avant l'Agent de distribution. Pour plus d’informations sur l’exécution des agents, consultez Concepts des exécutables de l’agent de réplication ou Démarrer et arrêter un Agent de réplication (SQL Server Management Studio).

  4. Exécutez sp_helppeerresponses sur chaque base de données de publication dans la topologie. Vérifiez que le jeu de résultats contient des réponses de chacun des autres nœuds.

Pour garantir qu'un nœud d'égal à égal a reçu toutes les modifications antérieures

  1. Exécutez sp_requestpeerresponse sur la base de données de publication au nœud que vous contrôlez.

  2. Si l'Agent de lecture du journal ou l'Agent de distribution ne s'exécute pas en mode continu, exécutez l'Agent. L'Agent de lecture du journal doit être démarré avant l'Agent de distribution. Pour plus d’informations sur l’exécution des agents, consultez Concepts des exécutables de l’agent de réplication ou Démarrer et arrêter un Agent de réplication (SQL Server Management Studio).

  3. Exécutez sp_helppeerresponses sur la base de données de publication au nœud que vous contrôlez. Vérifiez que le jeu de résultats contient des réponses de chacun des autres nœuds.

Pour suspendre une topologie de réplication de fusion

  1. Arrêtez l'activité sur toutes les tables publiées sur le serveur de publication et sur tous les Abonnés.

  2. Exécutez l'Agent de fusion pour chaque abonnement deux fois : synchronisez tous les abonnements une fois, puis synchronisez chaque abonnement une deuxième fois. Cela garantit que toutes les modifications sont répliquées sur tous les nœuds. Pour plus d’informations sur l’exécution des agents, consultez Concepts des exécutables de l’agent de réplication ou Démarrer et arrêter un Agent de réplication (SQL Server Management Studio).

    Remarque

    Si les conflits se produisent pendant la synchronisation, il est possible que les modifications requises par la résolution de conflit ne soient pas propagées à tous les nœuds après que l'Agent de fusion a été exécuté deux fois.