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


Процедура sp_register_custom_scripting (Transact-SQL)

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

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

sp_register_custom_scripting [ @type  = ] 'type'
    [ @value = ] 'value' 
    [ , [ @publication = ] 'publication' ]
    [ , [ @article = ] 'article' ]

Аргументы

  • [ @type = ] 'type'
    Тип регистрируемой пользовательской хранимой процедуры или скрипта. Аргумент type имеет тип varchar(16), не имеет значения по умолчанию и может принимать одно из следующих значений.

    Значение

    Описание

    insert

    Зарегистрированная пользовательская хранимая процедура, выполняющаяся при репликации инструкции INSERT.

    update

    Зарегистрированная пользовательская хранимая процедура, выполняющаяся при репликации инструкции UPDATE.

    delete

    Зарегистрированная пользовательская хранимая процедура, выполняющаяся при репликации инструкции DELETE.

    custom_script

    Скрипт, выполняющийся в конце триггера языка DDL.

  • [ @value= ] 'value'
    Имя хранимой процедуры или имя и полностью определенный путь к файлу скрипта Transact-SQL для регистрации. Аргумент value имеет тип nvarchar(1024) и не имеет значения по умолчанию.

    ПримечаниеПримечание

    Если аргументу value присвоить значение NULL, произведенная ранее регистрация скрипта будет отменена, что эквивалентно выполнению процедуры sp_unregister_custom_scripting.

    Если значение аргумента type — custom_script, ожидается имя и полный путь к файлу скрипта Transact-SQL. Иначе value должно быть именем регистрируемой хранимой процедуры.

  • [ @publication= ] 'publication'
    Имя публикации, для которой регистрируется пользовательская хранимая процедура или скрипт. Аргумент publication имеет тип sysname и значение по умолчанию NULL.

  • [ @article= ] 'article'
    Имя статьи, для которой регистрируется пользовательская хранимая процедура или скрипт. Аргумент article имеет тип sysname и значение по умолчанию NULL.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Процедура sp_register_custom_scripting используется в репликации моментальных снимков и транзакций.

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

Разрешения

Только члены предопределенной роли сервера sysadmin, члены предопределенной роли базы данных db_owner или db_ddladmin могут выполнять процедуру sp_register_custom_scripting.

См. также

Справочник

sp_unregister_custom_scripting (Transact-SQL)