Comment faire pour dépanner l’erreur 20598 « la ligne est introuvable sur l’abonné lors de l’application de la commande répliquée »

Cet article décrit comment résoudre les problèmes liés à l’erreur 20598 « la ligne est introuvable sur l’abonné lors de l’application de la commande répliquée » dans la réplication transactionnelle.

Comment faire pour résoudre les problèmes

Pour résoudre ce problème, procédez comme suit :

  1. Dans le moniteur de réplication sur l’Agent de Distribution de l’abonné, extraire le numéro de séquence de transaction et commande ID qui a rencontré l’erreur :



    Remarque Vous pouvez obtenir le même numéro de séquence de transaction à partir du serveur du distributeur à l’aide de la requête suivante :

  2. Extraire les commandes qui mappent vers le numéro de séquence de transaction sur le serveur distributeur. Utiliser le numéro de séquence de transaction à partir de l’étape 1 comme paramètre pour cette commande :

  3. À partir de la sortie de l’étape 2, identifier la commande qui rencontre le problème à l’aide de l’ID de commande de l’étape 1. Reportez-vous à la colonne id_de_commande du jeu de résultats.

  4. Valider les informations de l’article sur l’éditeur. Utilisez l’ID de l’article que vous obtenez à partir de l’étape 2 et vérifiez les détails de l’article que vous tentez de mettre à jour :

  5. Valider la clé primaire de l’éditeur.

    Vous avez deux types d’informations : le tableau sur lequel vous essayez d’effectuer la mise à jour et la valeur de clé primaire. Vous pouvez interroger la table à l’aide de la valeur de clé primaire et recherchez la ligne sur la base de données de l’éditeur. Par exemple :

    Sélectionner * à partir de tbl_sample WHERE column_name = < primary_key_value >

  6. Vérifiez le problème au niveau de l’abonné.

    Exécutez la même requête sur la base de données de l’abonné et comparez-le au résultat que vous recevez à partir de la base de données de l’éditeur.

Solution de contournement

Pour contourner ce problème, utilisez le des deux méthodes suivantes :

  • Insérer manuellement la ligne manquante sur l’abonné. Ce qui permet de l’Agent de Distribution réessayer la commande a échoué et passer à la réplication.

    Remarque  Il peut exister d’autres lignes qui sont manquants et qui doivent être insérés manuellement sur l’abonné, s’il y a plus de défaillances.

  • Demander à l’Agent de Distribution pour ignorer cette erreur et continuer à répliquer le reste des modifications. L’Agent de Distribution accepte le paramètre skiperrors . Vous pouvez utiliser ce paramètre pour transmettre le code d’erreur 20598. Il peut conserver la configuration de réplication alors que vous attendez la possibilité de synchroniser manuellement les lignes manquantes.

    Remarque Vous devez évaluer avec soin les effets en aval de l’intégrité référentielle et les déclencheurs qui sont présents sur la table affectée avant de continuer.

Plus d'informations

Collecte de données à rechercher la cause de ce problème

Si ce problème se produit à plusieurs reprises, vous devez rassembler les données suivantes pour l’analyse par l’équipe de prise en charge de Microsoft SQL Server afin que ce dernier peut tenter d’identifier la cause du problème :

  • La sauvegarde de la base de données de distribution lorsque ce problème se produit. (Ce doit être une fois que l’erreur est signalée et avant la réinitialisation de l’abonnement).

  • Sauvegardes du journal des transactions de l’éditeur et l’abonné. (Ces doivent être d’au moins vingt-quatre heures qui ont conduit à l’heure du problème.)

  • Traces du Générateur de profils qui indiquent l’activité des agents de réplication sur le distributeur, l’éditeur et l’abonné. (Assurez-vous que le profileur est en cours d’exécution même avant le démarrage du problème. Dans l’idéal, vous souhaitez démarrer le profileur en même temps que l’heure de début des travaux de réindexation.)

  • Sorties dans les cinq étapes précédentes pour l’identification de la table concernée et la valeur de clé primaire qui est manquante

  • Sortie des affichages catalogue à partir de l’éditeur et les bases de données d’abonné :

    • sys.partitions

    • sys.allocation_units

    • sys.objects

  • Sorties détaillées des journaux de l’agent de réplication

Problèmes connus et résolus

Les problèmes suivants se produisent dans les versions antérieures de SQL Server :

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références

Pour plus d’informations sur la terminologie de mise à jour de logiciel, voir terminologie standard qui est utilisé pour décrire les mises à jour logicielles de Microsoft.

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×