Partager via


conflict_<schema>_<table> (Transact-SQL)

La table conflict_<schema>_<table> contient des informations sur des lignes en conflit dans une réplication d'égal à égal. Il existe une table de conflits pour chaque table répliquée dans une publication, où le nom de la table de conflits est ajouté au nom du schéma et à celui de l'article. Ces tables de conflits spécifiques aux articles existent dans chaque base de données de publication.

Pour la réplication d'égal à égal, par défaut, l'Agent de distribution échoue lorsqu'il détecte un conflit. Une erreur de conflit est enregistrée dans le journal des erreurs, mais aucune donnée de conflit n'est enregistrée dans la table de conflits ; par conséquent, la consultation de cette erreur n'est pas possible. Si l'Agent de distribution est autorisé à continuer, un conflit est enregistré localement sur chaque nœud où il a été détecté. Pour plus d'informations, consultez « Gestion des conflits » dans Détection de conflit dans la réplication d'égal à égal.

Nom de la colonne

Type de données

Description

__$originator_id

int

ID du nœud d'où provient la modification conflictuelle Pour une liste des ID, exécutez sp_help_peerconflictdetection.

__$origin_datasource

int

Nœud d'où provient la modification conflictuelle.

__$tranid

nvarchar (40)

Numéro séquentiel dans le journal (LSN) de la modification en conflit appliquée à __$origin_datasource.

__$conflict_type

int

Type de conflit qui s'est produit, qui peut être l'une des valeurs suivantes :

  • 1 : Une mise à jour a échoué parce que la ligne locale a été modifiée par une autre mise à jour ou elle a été supprimée puis réinsérée.

  • 2 : Une mise à jour a échoué parce que la ligne locale a déjà été supprimée.

  • 3 : Une suppression a échoué parce que la ligne locale a été modifiée par une autre mise à jour ou elle a été supprimée puis réinsérée.

  • 4 : Une suppression a échoué parce que la ligne locale a déjà été supprimée.

  • 5 : Une insertion a échoué parce que la ligne locale a déjà été insérée ou a été insérée puis mise à jour.

__$is_winner

bit

Indique si la ligne dans cette table était le vainqueur du conflit, ce qui signifie qu'elle a été appliquée au nœud local.

__$pre_version

varbinary (32)

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

__$reason_code

int

Code de résolution du conflit. Il peut s'agir de l'une des valeurs suivantes :

  • 0

  • 1

  • 2

Pour plus d'informations, consultez __$reason_text.

__$reason_text

nvarchar (720)

Résolution du conflit. Il peut s'agir de l'une des valeurs suivantes :

  • Résolu (1)

  • Non résolu (2)

  • Inconnu (0)

__$update_bitmap

varbinary (32)

Bitmap qui indique quelles colonnes ont été mises à jour en cas de conflit mise à jour-mise à jour.

__$inserted_date

datetime

Date et heure d'insertion de la ligne en conflit dans cette table.

__$row_id

timestamp

Valeur de version associée à la ligne source du conflit.

__$change_id

binary (8)

Pour une ligne locale, cette valeur est égale au __$row_id de la ligne entrante qui a été en conflit avec la ligne locale. Cette valeur est NULL pour une ligne entrante.

<noms de colonne de table de base>

<types de colonne de table de base>

La table en conflit contient une colonne pour chaque colonne dans la table de base.