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


<conflict_schema>_<table> (Transact-SQL)

Область применения: SQL Server

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

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

Имя столбца Тип данных Description
__$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( n ). Размер зависит от содержимого. Битовая карта, указывающая столбцы, которые были обновлены в случае конфликта «обновление-обновление».
__$inserted_date datetime Дата и время вставки конфликтующей строки в эту таблицу.
__$row_id timestamp Версия строки, которая связана со строкой, вызвавшей конфликт.
__$change_id binary (8) Для локальной строки это значение равно __$row_id входящей строки, вызвавшей конфликт с локальной строкой. Для входящей строки это значение равно NULL.
<Имена столбцов базовой таблицы> <Типы столбцов базовой таблицы> Конфликтующая строка содержит один столбец для каждого из столбцов базовой таблицы.

См. также

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