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

Применимо к:SQL Server

При репликации транзакций допустимо заменять одну или несколько хранимых процедур по умолчанию пользовательскими. После изменения схемы реплицируемой таблицы эти процедуры создаются снова. 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' Тип настраиваемой хранимой процедуры или скрипта, зарегистрированного. Тип varchar (16), без значения по умолчанию и может быть одним из следующих значений.

значение Описание
insert Зарегистрированная пользовательская хранимая процедура, выполняющаяся при репликации инструкции INSERT.
обновить Зарегистрированная пользовательская хранимая процедура, выполняющаяся при репликации инструкции UPDATE.
Удаление Зарегистрированная пользовательская хранимая процедура, выполняющаяся при репликации инструкции DELETE.
custom_script Скрипт, выполняющийся в конце триггера языка DDL.

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

Примечание.

При указании NULL для параметра значенияотменяется регистрация ранее зарегистрированного скрипта, который совпадает с запуском sp_unregister_custom_scripting.

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

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

[ @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)