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

Область применения: SQL Server

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

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

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

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

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

    • 0 — выполнение скрипта агентом в случае ошибки будет остановлено.

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

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