MSmerge_conflicts_info (Transact-SQL)

La table MSmerge_conflicts_info assure le suivi des conflits qui se produisent lors de la synchronisation d'un abonnement dans une publication de fusion. Les données de la ligne perdante en cas de conflit sont stockées dans la table MSmerge_conflict_publication_article de l'article dans lequel le conflit s'est produit. Cette table est stockée dans la base de données de publication du serveur de publication et dans la base de données d'abonnement de l'Abonné.

Nom de colonne

Type de données

Description

tablenick

int

Surnom de la table publiée

rowguid

uniqueidentifier

Identificateur de la ligne de conflit

origin_datasource

nvarchar(255)

Nom de la base de données d'où provient la modification conflictuelle

conflict_type

int

Type de conflit qui s'est produit, qui peut être l'un des suivants :

1 = Conflit de mise à jour : le conflit est détecté au niveau de la ligne.

2 = Conflit de mise à jour de colonne : le conflit est détecté au niveau de la colonne.

3 = Conflit mise à jour/suppression avec exécution de la suppression : la suppression gagne le conflit.

4 = Conflit mise à jour/suppression avec exécution de la mise à jour : le rowguid supprimé qui perd le conflit est enregistré dans cette table.

5 = Échec de l'insertion téléchargée sur le serveur : impossibilité d'appliquer sur le serveur de publication l'insertion provenant de l'Abonné.

6 = Échec de l'insertion téléchargée à partir du serveur : impossibilité d'appliquer à l'Abonné l'insertion provenant du serveur de publication.

7 = Échec de la suppression téléchargée sur le serveur : impossibilité de charger sur le serveur de publication la suppression appliquée à l'Abonné.

8 = Échec de la suppression téléchargée à partir du serveur : impossibilité de charger sur l'Abonné la suppression appliquée au serveur de publication.

9 = Échec de la mise à jour téléchargée sur le serveur : impossibilité d'appliquer au serveur de publication la mise à jour effectuée sur l'Abonné.

10 = Échec de la mise à jour téléchargée à partir du serveur : impossibilité d'appliquer sur l'Abonné la mise à jour effectuée sur le serveur de publication.

11 = Résolution

12 = Suppression/mise à jour d'enregistrement logique avec exécution de la mise à jour : l'enregistrement logique supprimé qui perd le conflit est enregistré dans cette table.

13 = Conflit insertion/mise à jour d'enregistrement logique : une insertion dans un enregistrement logique entre en conflit avec une mise à jour.

14 = Conflit suppression/mise à jour d'enregistrement logique avec exécution de la suppression : l'enregistrement logique mis à jour qui perd le conflit est enregistré dans cette table.

reason_code

int

Code d'erreur pouvant dépendre du contexte. Dans les conflits entre deux mises à jour ou entre mise à jour et suppression, la valeur utilisée pour cette colonne est la même que conflict_type. Par contre, dans les conflits d'échec de modification, le code de la raison correspond à l'erreur qui a empêché l'Agent de fusion d'appliquer la modification. Par exemple, si l'Agent de fusion ne peut pas appliquer une insertion sur l'Abonné en raison d'une violation de clé primaire, il journalise un conflict_type de valeur 6 (« échec de l'insertion du téléchargement ») et un reason_code de valeur 2627, qui est le message d'erreur interne de SQL Server pour une violation de clé primaire : « Violation de la contrainte %ls '%.*ls'. Impossible d'insérer une clé en double dans l'objet '%.*ls'. »

reason_text

nvarchar(720)

Description de l'erreur qui peut dépendre du contexte.

pubid

uniqueidentifier

Identificateur de la publication.

MSrepl_create_time

datetime

Heure à laquelle le conflit s'est produit.

origin_datasource_id

uniqueidentifier

Identificateur de la base de données d'où provient la modification à l'origine du conflit