Un abonnement de fusion a expiré et des modifications doivent être chargées

Si un abonnement à une publication de fusion expire et que vous voulez charger des modifications depuis l'Abonné vers le serveur de publication, vous devez le faire manuellement.

Explication

La réplication de fusion utilise la période de rétention de la publication (les paramètres @retention et @retention_period_unit de sp_addmergepublication (Transact-SQL)) pour déterminer quand un abonnement expire. La réplication nettoie les métadonnées dans les bases de données de publication et d'abonnement après que la période de rétention soit écoulée. Pour plus d'informations, consultez Expiration et désactivation des abonnements. Vous ne pouvez pas charger des modifications à partir d'un abonnement expiré, car les métadonnées relatives aux lignes sur l'Abonné ne sont plus présentes sur le serveur de publication.

Action de l'utilisateur

Pour charger des modifications vers le serveur de publication :

  1. Utilisez l'utilitaire tablediff pour déterminer les lignes qui sont différentes entre le serveur de publication et l'Abonné. Pour des informations sur l'utilisation de cet utilitaire sur des tables répliquées, consultez Procédure : comparer les tables répliquées pour les différences (programmation de réplication).

  2. Chargez manuellement les modifications à partir de l'Abonné ou à l'aide de l'une des méthodes suivantes :

    • Recréez l'abonnement, en spécifiant que la capture instantanée ne doit pas être appliquée sur l'Abonné. Pour plus d'informations, consultez Initialisation d'une réplication de fusion sans instantané. Après avoir créé l'abonnement, effectuez un exemple de mise à jour pour chaque ligne qui a dû être chargée vers le serveur de publication : effectuez un exemple de mise à jour comme celui-ci :

      UPDATE Sales.SalesOrderHeader SET RevisionNumber = RevisionNumber WHERE SalesOrderID > 4100

      ou exécutez sp_mergedummyupdate pour chaque ligne. Pour plus d'informations, consultez sp_mergedummyupdate (Transact-SQL).

    • Utilisez l'utilitaire tablediff pour générer un script Transact-SQL pour mettre les données en convergence. Pour plus d'informations, consultez Utilitaire tablediff. Le script Transact-SQL écrase toutes les données non convergentes sur la destination (dans ce cas, le serveur de publication) : cette option doit être utilisée seulement si le chargement de données à partir de l'Abonné a priorité sur la préservation des données sur le serveur de publication.

Voir aussi

Concepts