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