Синхронизация данных
Под синхронизацией данных подразумевается процесс распространения изменений данных и схем между издателем и подписчиками, после того как был применен исходный моментальный снимок на подписчике. Синхронизация может происходить:
Непрерывно, что типично для репликации транзакций.
По требованию, что типично для репликации слиянием.
По расписанию, что типично для репликации моментальных снимков.
Когда подписка синхронизируется, в зависимости от используемого типа репликации происходят разные процессы:
Репликация моментальных снимков. Синхронизация означает, что агент распространителя повторно применяет моментальный снимок на подписчике — так, чтобы схема и данные в базе данных подписки были согласованы со схемой и данными в базе данных публикации.
Если на издателе были произведены изменения данных или схемы, для распространения изменений на подписчик должен быть создан новый моментальный снимок.
Репликация транзакций. Синхронизация означает, что агент распространителя передает на подписчик обновления, вставки, удаления и любые другие изменения из базы данных распространителя.
Репликация слиянием. Синхронизация означает, что агент слияния передает изменения с подписчика на издатель, а затем передает изменения с издателя на подписчик. Конфликты, если они присутствуют, обнаруживаются и разрешаются. Выполняется конвергенция данных, а издатель и все подписчики в итоге достигают состояния с одинаковыми значениями данных. Если были обнаружены и разрешены конфликты, работа, зафиксированная некоторыми из пользователей, изменяется, чтобы разрешить конфликт в соответствии с определенными правилами.
Публикации моментальных снимков полностью обновляют схему на подписчике при каждой синхронизации, так что все изменения схемы применяются на подписчике. Репликация транзакций и репликация слиянием также поддерживают наиболее распространенные изменения схем. Дополнительные сведения см. в разделе Внесение изменений схем в базы данных публикации.
Сведения о синхронизации принудительной подписки см. в разделе Синхронизация принудительной подписки.
Сведения о синхронизации подписки по запросу см. в разделе Синхронизация подписки по запросу.
Чтобы настроить расписания синхронизации, см. раздел Указание расписаний синхронизации.
Просмотр и разрешение конфликтов синхронизации
Среда SQL Server Management Studio: просмотреть и разрешить конфликты данных для публикации слиянием (среда SQL Server Management Studio)
Среда SQL Server Management Studio: просмотреть конфликты данных для публикаций транзакций (среда SQL Server Management Studio)
Выполнение кода во время синхронизации
Репликация поддерживает два метода выполнения кода во время синхронизации
Выполнение скрипта по запросу поддерживается для репликации транзакций и репликации слиянием. С помощью выполнения скрипта по запросу можно указать, какой скрипт SQL будет выполняться во время синхронизации. скрипт копируется на подписчик и выполняется с помощью программы sqlcmd в начале процесса синхронизации. скрипт не имеет доступа к реплицированным изменениям, когда они применяются к подписчику. Дополнительные сведения см. в разделе выполнять скрипты во время синхронизации (программирование репликации на языке Transact-SQL).
Обработчики бизнес-логики поддерживаются для репликации слиянием. С помощью платформы обработчиков бизнес-логики можно создать сборку управляемого кода, которая будет вызываться в процессе синхронизации слиянием. Сборка кода включает бизнес-логику, которая может реагировать на ряд условий во время синхронизации: изменения данных, конфликты и ошибки. Дополнительные сведения см. в разделе Выполнение бизнес-логики при синхронизации слиянием.