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