Процедура 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.

См. также

Справочник