Replication allows user-defined custom stored procedures to replace one or more of the default procedures used in transactional replication. When a schema change is made to a replicated table, these stored procedures are re-created. sp_register_custom_scripting registers a stored procedure or Transact-SQL script file that is executed when a schema change occurs to script out the definition for a new user-defined custom stored procedure. This new user-defined custom stored procedure should reflect the new schema for the table. sp_register_custom_scripting is executed at the Publisher on the publication database, and the registered script file or stored procedure is executed at the Subscriber when a schema change occurs.
Transact-SQL Syntax Conventions
sp_register_custom_scripting [ @type = ] 'type'
[ @value = ] 'value'
[ , [ @publication = ] 'publication' ]
[ , [ @article = ] 'article' ]
- [ @type = ] 'type'
Is the type of custom stored procedure or script being registered. type is varchar(16), with no default, and can be one of the following values.
Value | Description |
|---|
insert | Registered custom stored procedure is executed when an INSERT statement is replicated. |
update | Registered custom stored procedure is executed when an UPDATE statement is replicated. |
delete | Registered custom stored procedure is executed when a DELETE statement is replicated. |
custom_script | Script is executed at the end of the data definition language (DDL) trigger. |
- [ @value= ] 'value'
Name of a stored procedure or name and fully-qualified path to the Transact-SQL script file that is being registered. value is nvarchar(1024), with no default.
When the value of type is custom_script, the name and full path of a Transact-SQL script file is expected. Otherwise, value must be the name of a registered stored procedure.
- [ @publication= ] 'publication'
Name of the publication for which the custom stored procedure or script is being registered. publication is sysname, with a default of NULL.
- [ @article= ] 'article'
Name of the article for which the custom stored procedure or script is being registered. article is sysname, with a default of NULL.
0 (success) or 1 (failure)
Only members of the sysadmin fixed server role, the db_owner fixed database role, or the db_ddladmin fixed database role can execute sp_register_custom_scripting.