Comment résoudre correctement les faux conflits de réplication de fusion

12

Nous avons la configuration de la réplication de fusion SQL Server 2008 R2.

Dernièrement, j'ai commencé à obtenir des conflits pour certaines tables, et lorsque je vérifie la visionneuse de conflits, je peux voir que les valeurs des colonnes gagnant et perdant sont identiques!

Je suis sûr que ces données sont saisies par un seul abonné.

Je sp_showrowreplicainfopour obtenir plus de détails sur la ligne en conflit et je suis arrivé 2 lignes: une pour l'éditeur et l' un pour l'abonné avec les deux lignes ayant la « version » comme 1.

J'ai également implémenté la méthode de Brandon: Auditer les changements dans la réplication de fusion , mais elle ne montrait qu'une insertion normale!

Pourriez-vous me dire comment commencer à résoudre ce type de conflit?

Adel Khayata
la source

Réponses:

1

J'ai trouvé une réponse solide à votre question ici sur les administrateurs de bases de données par Brandon Williams :

Comment résoudre les conflits de réplication de fusion SQL Server?

Brandon a déclaré:

Vous devez inspecter la visionneuse de conflits et observer les types de conflits et les valeurs de ligne en conflit. Il est important de noter que la colonne Conflict Winner affichera les valeurs des lignes gagnantes extraites des tables de base. Si vous y pensez, ces valeurs sont volatiles et peuvent changer, donc les valeurs que vous voyez dans la colonne Conflict Winner peuvent ne pas être les valeurs qu'elles étaient lorsque le conflit s'est produit, gardez cela à l'esprit. La colonne Conflict Loser affichera les valeurs des lignes perdues qui sont extraites de la table MSmerge_conflict_publication_article et ces valeurs sont statiques.

Si vous ne parvenez pas à déterminer la cause première des conflits en fonction de la visionneuse de conflits, vous devrez peut-être implémenter un schéma d'audit. J'ai fourni un exemple de la façon de procéder dans Audit des modifications dans la réplication de fusion .

Il y a une petite chance que vous obteniez de faux conflits mais l'audit devrait révéler si c'est le cas ou non.

Jim Ziegmann
la source