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