Синхронизация данных
Под синхронизацией данных подразумевается процесс распространения изменений данных и схем между издателем и подписчиками, после того как был применен исходный моментальный снимок на подписчике. Синхронизация может происходить:
- Непрерывно, что типично для репликации транзакций.
- По требованию, что типично для репликации слиянием.
- По расписанию, что типично для репликации моментальных снимков.
Когда подписка синхронизируется, в зависимости от используемого типа репликации происходят разные процессы:
- Репликация моментальных снимков. Синхронизация означает, что агент распространителя повторно применяет моментальный снимок на подписчике — так, чтобы схема и данные в базе данных подписки были согласованы со схемой и данными в базе данных публикации.
Если на издателе были произведены изменения данных или схемы, для распространения изменений на подписчик должен быть создан новый моментальный снимок. - Репликация транзакций. Синхронизация означает, что агент распространителя передает на подписчик обновления, вставки, удаления и любые другие изменения из базы данных распространителя.
- Репликация слиянием. Синхронизация означает, что агент слияния передает изменения с подписчика на издатель, а затем передает изменения с издателя на подписчик. Конфликты, если они присутствуют, обнаруживаются и разрешаются. Выполняется конвергенция данных, а издатель и все подписчики в итоге достигают состояния с одинаковыми значениями данных. Если были обнаружены и разрешены конфликты, работа, зафиксированная некоторыми из пользователей, изменяется, чтобы разрешить конфликт в соответствии с определенными правилами.
Публикации моментальных снимков полностью обновляют схему на подписчике при каждой синхронизации, так что все изменения схемы применяются на подписчике. Репликация транзакций и репликация слиянием также поддерживают наиболее распространенные изменения схем. Дополнительные сведения см. в разделе Внесение изменений схем в базы данных публикаций.
Синхронизация принудительной подписки
- 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: How to: Specify Synchronization Schedules (Replication Transact-SQL Programming)
- Программирование объектов RMO: How to: Specify Synchronization Schedules (RMO Programming)
Просмотр и разрешение конфликтов синхронизации
- SQL Server Management Studio: Как просмотреть и разрешить конфликты данных для публикации слиянием (среда SQL Server Management Studio)
- SQL Server Management Studio: Как просмотреть конфликты данных для публикаций транзакций с подписками, обновляемыми посредством очередей (среда SQL Server Management Studio)
Выполнение кода во время синхронизации
Репликация поддерживает два метода выполнения кода во время синхронизации
- Выполнение сценария по требованию поддерживается для репликации транзакций и репликации слиянием. С помощью выполнения сценария по требованию можно указать, какой сценарий SQL будет выполняться во время синхронизации. Сценарий копируется на подписчик и выполняется с помощью программы sqlcmd в начале процесса синхронизации. Сценарий не имеет доступа к реплицированным изменениям, когда они применяются к подписчику. Дополнительные сведения см. в разделе How to: Execute Scripts During Synchronization (Replication Transact-SQL Programming).
- Обработчики бизнес-логики поддерживаются для репликации слиянием. С помощью платформы обработчиков бизнес-логики можно создать сборку управляемого кода, которая будет вызываться в процессе синхронизации слиянием. Сборка кода включает бизнес-логику, которая может реагировать на ряд условий во время синхронизации: изменения данных, конфликты и ошибки. Дополнительные сведения см. в разделе Выполнение бизнес-логики при синхронизации слиянием.
См. также
Основные понятия
Обнаружение и разрешение конфликтов репликации слиянием