Поделиться через


MSmerge_conflicts_info (Transact-SQL)

Таблица MSmerge_conflicts_info предназначена для отслеживания конфликтов при синхронизации подписки и публикации слиянием. Потерянные при конфликтах данные строк сохраняются в таблице MSmerge_conflict_publication_article для статьи, в которой возник конфликт. Эта таблица сохраняется на издателе в базе данных публикации и на подписчике в базе данных подписки.

Имя столбца

Тип данных

Описание

tablenick

int

Псевдоним опубликованной таблицы.

rowguid

uniqueidentifier

Идентификатор конфликтной строки.

origin_datasource

nvarchar(255)

Имя базы данных-источника конфликтного изменения.

conflict_type

int

Тип возникшего конфликта может быть одним из следующих:

1 = конфликт обновления: конфликт обнаружен на уровне строки;

2 = конфликт обновления столбца: конфликт обнаружен на уровне столбца;

3 = удаление побеждает в конфликте с обновлением: конфликт разрешен удалением;

4 = обновление побеждает в конфликте с удалением: идентификатор строки rowguid, удаление которой из-за конфликта не состоялось, записывается в данную таблицу;

5 = неудачная вставка при передаче: выполнение вставки со стороны подписчика на стороне издателя оказалось невозможным;

6 = неудачная вставка при загрузке: выполнение вставки со стороны издателя на стороне подписчика оказалось невозможным;

7 = неудачное удаление при передаче: передача удаления со стороны подписчика на сторону издателя оказалась невозможной;

8 = неудачное удаление при загрузке: загрузка удаления со стороны издателя на сторону подписчика оказалась невозможной;

9 = неудачное обновление при передаче: выполнение обновления со стороны подписчика на стороне издателя оказалось невозможным;

10 = неудачное обновление при загрузке: выполнение обновления со стороны издателя на стороне подписчика оказалось невозможным;

11 = разрешение;

12 = обновление логической записи побеждает в конфликте с удалением: удаленная логическая запись, которая уступает в конфликте, записывается в данную таблицу;

13 = вставка логической записи побеждает в конфликте с обновлением: вставка в логическую запись конфликтует с обновлением;

14 = удаление логической записи побеждает в конфликте с обновлением: обновленная логическая запись, которая уступает в конфликте, записывается в данную таблицу.

reason_code

int

Код ошибки, который может зависеть от контекста. В случае конфликтов «обновление-обновление» и «обновление-удаление» значение, используемое для этого столбца равно значению conflict_type. Однако в случае конфликтов, связанных с неудачными изменениями, код причины равен ошибке, которая не дала агенту слияния применить изменения. Например, если агент слияния не может применить вставку на подписчике из-за нарушения первичного ключа, он записывает значение conflict_type, равное 6 («неудачная вставка при загрузке»), и значение reason_code, равное 2 627, которое является внутренним сообщением SQL Server об ошибке, связанной с нарушением первичного ключа: «Нарушение ограничения '%.*ls' для %ls. Не удается вставить повторяющийся ключ в объект '%.*ls'».

reason_text

nvarchar(720)

Описание кода ошибки, который может зависеть от контекста.

pubid

uniqueidentifier

Идентификатор публикации.

MSrepl_create_time

datetime

Время возникновения конфликта.

origin_datasource_id

uniqueidentifier

Идентификатор базы данных, откуда было произведено конфликтное изменение.

См. также

Справочник

Представления репликации (Transact-SQL)

Основные понятия

Таблицы репликации (Transact-SQL)