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


Конфликт расширенной репликации слиянием: сопоставители на основе технологии COM

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

Все сопоставители на основе COM, предоставляемые с помощью sql Server, обрабатывают конфликты обновлений и где они указывают, они также обрабатывают конфликты вставки и удаления. Все арбитры производят отслеживание столбцов; большинство из них также производят отслеживание строк. Эти и все другие основанные на технологии COM сопоставители объявляют типы конфликтов, которые они обрабатывают, а для всех остальных типов конфликтов агент слияния использует сопоставитель по умолчанию.

Разрешения устанавливаются во время установки SQL Server. Выполните хранимую процедуру sp_enumcustomresolvers для просмотра всех сопоставителей, зарегистрированных на компьютере. При выполнении этой процедуры отображаются описание и глобальный уникальный идентификатор (GUID) для каждого сопоставителя в отдельном результирующем наборе.

Чтобы указать сопоставитель, см. Specify a Merge Article Resolver.

В следующей таблице описываются атрибуты конкретных сопоставителей.

Имя. Требуемые входные данные Description Комментарии
Сопоставитель конфликтов Microsoft SQL Server - аддитивный Имя суммируемого столбца. Столбец должен относиться к арифметическому типу данных (например, int, smallint, numericи т. д.). Победитель в конфликте определяется по значению приоритета. Указанные значения столбца устанавливаются равными сумме значений исходного столбца и целевого столбца. Если одно из значений — NULL, итоговое значение устанавливается равным значению другого столбца. Поддерживает конфликты обновления, и только отслеживание столбцов.
Сопоставитель конфликтов Microsoft SQL Server - усредняющий Имя усредняемого столбца. Столбец должен относиться к арифметическому типу данных (например, int, smallint, numericи т. д.). Победитель в конфликте определяется по значению приоритета. Значения результирующего столбца устанавливаются равными среднему значению от значений исходного и целевого столбца. Если одно из значений — NULL, итоговое значение устанавливается равным значению другого столбца. Поддерживает конфликты обновления, и только отслеживание столбцов.
Сопоставитель конфликтов типа DATETIME в Microsoft SQL Server (для более ранних версий Windows). Имя столбца, применяемого для определения победителя конфликта. Столбец должен иметь тип данных datetime . Конфликт разрешается в пользу столбца с более ранним значением datetime . Если одно из значений установлено равным NULL, победителем является строка, содержащая другое значение. Поддерживает конфликты обновления, отслеживание строк и столбцов. Значения столбцов сравниваются напрямую, и поправка на разницу в часовых поясах не производится.
Сопоставитель конфликтов типа DATETIME в Microsoft SQL Server (для более поздних версий Windows). Имя столбца, применяемого для определения победителя конфликта. Столбец должен иметь тип данных datetime . Конфликт разрешается в пользу столбца с более поздним значением datetime . Если одно из значений установлено равным NULL, победителем является строка, содержащая другое значение. Поддерживает конфликты обновления, отслеживание строк и столбцов.
Сопоставитель конфликтов Microsoft SQL Server - максимальный Имя столбца, применяемого для определения победителя конфликта. Столбец должен относиться к арифметическому типу данных (например, int, smallint, numericи т. д.). Столбец с большим числовым значением становится победителем в конфликте. Если одно из значений установлено равным NULL, победителем является строка, содержащая другое значение. Поддерживает отслеживание строк и столбцов.
Сопоставитель конфликтов Microsoft SQL Server - минимальный Имя столбца, применяемого для определения победителя конфликта. Столбец должен относиться к арифметическому типу данных (например, int, smallint, numericи т. д.). Столбец с меньшим числовым значением становится победителем в конфликте. Если одно из значений установлено равным NULL, победителем является строка, содержащая другое значение. Поддерживает конфликты обновления, отслеживание строк и столбцов.
Сопоставитель конфликтов текста слияния Microsoft SQL Server Имя текстового столбца и разделитель, например @resolver_info = '[col1][===]'. Победитель в конфликте определяется по значению приоритета. Конфликтующие текстовые столбцы устанавливаются равными объединенному значению, состоящему из общего префикса, за которым следует уникальная часть от издателя, затем следует разделитель, а затем — уникальная часть от подписчика. Поддерживает конфликты обновления, и только отслеживание столбцов.
Сопоставитель конфликтов Microsoft SQL Server - безусловное предпочтение подписчику Нет входных данных. Конфликт разрешается в пользу подписчика, независимо от того является он источником или пунктом назначения. Поддерживает все типы конфликтов.
Сопоставитель конфликтов Microsoft SQL Server - приоритетный столбец Имя столбца, применяемого для определения победителя конфликта. Столбец должен относиться к арифметическому типу данных (например, int, smallint, numericи т. д.). Столбец с большим числовым значением становится победителем в конфликте. Если одно из значений установлено равным NULL, победителем является строка, содержащая другое значение. Поддерживает конфликты обновления, отслеживание строк и столбцов.
Сопоставитель конфликтов Microsoft SQL Server - только передача Нет входных данных. Принимаются изменения, переданные на издатель; изменения не загружаются на подписчик. Поддерживает все типы конфликтов.
Сопоставитель конфликтов Microsoft SQL Server - только загрузка Нет входных данных. Отклоняются изменения, переданные на издатель; изменения загружаются на подписчик. Поддерживает все типы конфликтов.
Арбитр конфликтов хранимых процедур Microsoft SQLServer Имя хранимой процедуры, которую должен вызвать сопоставитель для разрешения конфликта. Устранение конфликта зависит от логики указываемой хранимой процедуры. Поддерживает конфликты обновления. Дополнительные сведения см. в статье Реализация пользовательского арбитра конфликтов для статьи публикации слиянием