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


conflict_<схема>_<таблица> (Transact-SQL)

Таблица conflict_<schema>_<table> содержит данные о конфликтующих строках в одноранговой репликации. Для каждой реплицируемой таблицы в публикации существует таблица конфликтов, при этом к имени таблицы конфликтов добавляются имя схемы и имя статьи. Такие таблицы конфликтов существуют во всех базах данных публикаций для каждой из статей.

При одноранговой репликации агент распространителя при обнаружении конфликта завершается ошибкой. Эта ошибка заносится в журнал, но данные конфликта не записываются в таблицу конфликтов и поэтому недоступны для просмотра. Если агенту распространителя разрешено продолжение работы, то конфликт заносится в локальный журнал на каждом из узлов, где он обнаружен. Дополнительные сведения см. в подразделе «Обработка конфликтов» раздела Обнаружение конфликтов в одноранговой репликации.

Имя столбца

Тип данных

Описание

__$originator_id

int

Идентификатор узла, из которого было произведено изменение, вызвавшее конфликт. Чтобы получить список идентификаторов, выполните процедуру sp_help_peerconflictdetection.

__$origin_datasource

int

Узел, на котором было произведено изменение, вызвавшее конфликт.

__$tranid

nvarchar (40)

Регистрационный номер транзакции в журнале (LSN) изменения, вызвавшего конфликт, при его применении на __$origin_datasource.

__$conflict_type

int

Тип конфликта, который может принимать одно из следующих значений:

  • 1: Не удалось выполнить обновление, поскольку строка была изменена другим обновлением либо была удалена, а затем вставлена повторно.

  • 2: Не удалось выполнить обновление, поскольку локальная строка уже удалена.

  • 3: Не удалось выполнить удаление, поскольку локальная строка была изменена другим обновлением либо была удалена, а затем вставлена повторно.

  • 4: Не удалось выполнить удаление, поскольку локальная строка уже удалена.

  • 5: Не удалось выполнить вставку, поскольку локальная строка уже была вставлена или вставлена, а затем обновлена.

__$is_winner

bit

Указывает, была ли строка в этой таблице победителем конфликта, что означает, что она была применена к локальному узлу.

__$pre_version

varbinary (32)

Версия базы данных, из которой было произведено изменение, вызвавшее конфликт.

__$reason_code

int

Код разрешения конфликта. Может использоваться одно из следующих значений:

  • 0

  • 1

  • 2

Дополнительные сведения см. в разделе __$reason_text.

__$reason_text

nvarchar (720)

Разрешение конфликта. Может использоваться одно из следующих значений:

  • 1 = Разрешен

  • 2 = Не разрешен

  • 0 = Неизвестно

__$update_bitmap

varbinary (32)

Битовая карта, указывающая столбцы, которые были обновлены в случае конфликта «обновление-обновление».

__$inserted_date

datetime

Дата и время вставки конфликтующей строки в эту таблицу.

__$row_id

timestamp

Версия строки, которая связана со строкой, вызвавшей конфликт.

__$change_id

binary (8)

Для локальной строки это значение равно __$row_id входящей строки, вызвавшей конфликт с локальной строкой. Для входящей строки это значение равно NULL.

<имена столбцов базовой таблицы>

<типы столбцов базовой таблицы>

Конфликтующая строка содержит один столбец для каждого из столбцов базовой таблицы.

См. также

Справочник

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

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

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