Процедура 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 = ] N'value'
[ , [ @publication = ] N'publication' ]
[ , [ @article = ] N'article' ]
[ ; ]
Аргументы
[ @type = ] 'type'
Тип настраиваемой хранимой процедуры или скрипта, зарегистрированного. @type — varchar(16) и может быть одним из следующих значений.
значение | Описание |
---|---|
insert |
Зарегистрированная пользовательская хранимая процедура выполняется при INSERT репликации инструкции. |
update |
Зарегистрированная пользовательская хранимая процедура выполняется при UPDATE репликации инструкции. |
delete |
Зарегистрированная настраиваемая хранимая процедура выполняется при DELETE репликации инструкции. |
custom_script |
Скрипт, выполняющийся в конце триггера языка DDL. |
[ @value = ] N'value'
Имя хранимой процедуры или имени и полный путь к зарегистрированным файлу скрипта Transact-SQL. @value — nvarchar(2048) без значения по умолчанию.
Указание NULL
для @value отменяет регистрацию ранее зарегистрированного скрипта, который совпадает с выполнением sp_unregister_custom_scripting.
Если значение @type custom_script, ожидается имя и полный путь к файлу скрипта Transact-SQL. В противном случае @value должно быть именем зарегистрированной хранимой процедуры.
[ @publication = ] N'publication'
Имя публикации, для которой регистрируется пользовательская хранимая процедура или скрипт. @publication — sysname с значением по умолчаниюNULL
.
[ @article = ] N'article'
Имя статьи, для которой регистрируется пользовательская хранимая процедура или скрипт. @article — sysname с значением по умолчаниюNULL
.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_register_custom_scripting
используется в моментальном снимке и репликации транзакций.
Перед изменением схемы в реплицируемую таблицу необходимо выполнить эту хранимую процедуру. Дополнительные сведения об использовании этой хранимой процедуры см. в статьях о транзакциях. Повторное создание для отражения изменений схемы.
Разрешения
Могут выполняться только члены предопределенных ролей сервера sysadmin, предопределенных ролей базы данных db_owner или предопределенных ролей базы данных db_ddladmin.sp_register_custom_scripting