Procédure : suspendre une topologie de réplication (programmation Transact-SQL de la réplication)

La suspension d'un système revient à interrompre toute activité sur les tables publiées de tous les nœuds et à vérifier que chaque nœud a reçu toutes les modifications provenant 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 du 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 du journal 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 Procédure : 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 Procédure : 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 Procédure : 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 Procédure : démarrer et arrêter un Agent de réplication (SQL Server Management Studio).

    Notes

    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.