Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: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