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


Выполнение скриптов во время синхронизации (программирование Transact-SQL репликации)

Репликация поддерживает выполнение скрипта по запросу для подписчиков на публикации транзакций и слиянием. Эта функция копирует скрипт в рабочий каталог репликации, а затем использует sqlcmd для применения скрипта на подписчике. По умолчанию, если при применении скрипта к транзакционной публикации для подписки происходит сбой, Агент распределения остановится. Можно указать скрипт Transact-SQL для выполнения программно с помощью хранимых процедур репликации.

Для указания скрипта, который будет выполняться для всех подписчиков моментального снимка, транзакционной или слияющей публикации

  1. Создайте и проверьте скрипт Transact-SQL, который будет выполняться по запросу.

  2. Сохраните файл скрипта в месте, где агент моментальных снимков мог получить к нему доступ для публикации.

  3. На издателе в базе данных публикации выполните sp_addscriptexec (Transact-SQL). Укажите @publication, имя файла скрипта с полным UNC-путем, созданным на шаге 2 для @scriptfile, и одним из следующих значений для @skiperror:

    • 0 — агент перестанет выполнять скрипт, если обнаружена ошибка.

    • 1 . Агент будет записывать ошибки и продолжать выполнять скрипт при обнаружении ошибок.

  4. Указанный скрипт будет выполняться на каждом подписчике при следующем запуске агента для синхронизации подписки.

См. также

Синхронизация данных