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


Как указать метод распространения изменений данных в статьях транзакций (среда SQL Server Management Studio)

Определите метод распространения на вкладке Свойства диалогового окна Свойства статьи — <статья>, которое доступно в мастере создания публикаций и в диалоговом окне Свойства публикации — <публикация>. Дополнительные сведения об использовании этого мастера и о доступе к этому диалоговому окну см. в разделах Как создать публикацию и определить статьи (среда SQL Server Management Studio) и Как просмотреть и изменить свойства публикации и статьи (среда SQL Server Management Studio).

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

Указание метода распространения

  1. На странице Статьи мастера создания публикации или в диалоговом окне Свойства публикации — <публикация> выберите таблицу, затем щелкните Свойства статьи.

  2. Щелкните Указать свойства выделенной статьи таблицы.

  3. На вкладке Свойства диалогового окна Свойства статьи — <статья> в разделе Доставка инструкций укажите метод распространения каждой операции при помощи меню Формат доставки инструкций INSERT, Формат доставки инструкций UPDATE и Формат доставки инструкций DELETE.

  4. Нажмите кнопку ОК.

  5. В диалоговом окне Свойства публикации — <публикация> нажмите кнопку ОК, чтобы сохранить результаты и закрыть диалоговое окно.

Создание и использование пользовательских хранимых процедур

  1. На странице Статьи мастера создания публикации или в диалоговом окне Свойства публикации — <публикация> выберите таблицу, затем щелкните Свойства статьи.

  2. Щелкните Указать свойства выделенной статьи таблицы.

    На вкладке Свойства диалогового окна Свойства статьи — <статья> в разделе Доставка инструкций выберите синтаксис инструкции CALL из соответствующего меню формата доставки (Формат доставки инструкций INSERT, Формат доставки инструкций UPDATE или Формат доставки инструкций DELETE), а затем введите имя процедуры, чтобы использовать его в параметре Хранимая процедура INSERT, Хранимая процедура DELETE или Хранимая процедура UPDATE. Дополнительные сведения о синтаксисе инструкции CALL см. в подразделе «Синтаксис инструкции Call для хранимых процедур» раздела Указание способа распространения изменений для статей транзакций.

  3. Нажмите кнопку ОК.

  4. В диалоговом окне Свойства публикации — <публикация> нажмите кнопку ОК, чтобы сохранить результаты и закрыть диалоговое окно.

  5. Моментальный снимок, созданный для публикации, включает процедуру, заданную вами на предыдущем шаге. Процедуры будут использовать заданный вами синтаксис инструкции CALL, но при этом будут включать логику по умолчанию, используемую репликацией.

    После создания моментального снимка перейдите в папку моментальных снимков, относящуюся к публикации, которой принадлежит данная статья, затем найдите файл с расширением .sch и с таким же именем, что и статья. Откройте этот файл при помощи программы «Блокнот» или другого текстового редактора, найдите команду CREATE PROCEDURE для вставки, обновления или удаления хранимых процедур и измените определение процедуры, чтобы указать пользовательскую логику для распространения изменений данных. Если моментальный снимок восстановлен, создайте заново пользовательскую процедуру.

    ПредупреждениеВнимание!

    Необходимо соблюдать осторожность при изменении любого файла моментального снимка, созданного репликацией. Необходимо тестировать и поддерживать пользовательскую логику в пользовательских хранимых процедурах; Microsoft не поддерживает пользовательскую логику.