0

Dans mon serveur de production j'ai une réplication qui fonctionne bien, j'ai une base de données distribuée qui a 2 abonnés db. Mes données sont répliquées de la production envi (fonctionne très bien), mais tout en données se reproduit à la base de données distribuée dans Subscriber il renvoie une erreurReplication SQL SERVER

Err msg =
distribution de réplication-réplication Sous-système: PRD01-XYZ-VREPL1 \ REPL01- 25 échoué. Violation de la contrainte PRIMARY KEY 'PK_vendors'. Impossible d'insérer une clé en double dans l'objet 'dbo.tabname'.

+0

Dhivagar: Avez-vous trouvé la réponse que vous recherchiez? Si oui, pourriez-vous l'accepter s'il vous plaît? Si non, pourriez-vous préciser ce que vous cherchez toujours? Habituellement, plus vous fournissez d'informations, plus il est probable que quelqu'un puisse vous aider. – MaasSql

Répondre

0

Je n'ai pas fait cela depuis un moment, mais voici un coup de couteau.

D'abord, je ne me dérangerait pas de voir les dossiers qui ne sont pas assorties, donc je voudrais essayer quelque chose comme ceci:

--to be run on the publisher 
select pub.*, sub.* 
from 
    db_name1.dbo.tabname pub 
    JOIN linked_server_to_subscriber.db_name1.dbo.tabname sub 
     ON pub.pk = sub.pk 
WHERE 
    pub.some_field != sub.some_field 

Si tout va bien, pour « un_champ », il y a une autre colonne unique ou peut-être un dt_entered, ou peut-être un rowguid. :)

Enfin, si la logique de votre situation implique des enregistrements être inséré dans la table d'abonné autre que par la réplication et la le type de réplication n'est pas fusionné, vous pouvez très bien continuer à avoir des problèmes s aime ça.

Bonne chance.

Questions connexes