sp_register_custom_scripting (Transact-SQL)

Gilt für:SQL Server

Mithilfe der Replikation ist es möglich, mindestens eine der bei der Transaktionsreplikation verwendeten Standardprozeduren durch benutzerdefinierte gespeicherte Prozeduren zu ersetzen. Wenn an einer replizierten Tabelle eine Schemaänderung vorgenommen wird, werden diese gespeicherten Prozeduren neu erstellt. sp_register_custom_scripting registriert eine gespeicherte Prozedur oder Transact-SQL-Skriptdatei, die ausgeführt wird, wenn eine Schemaänderung eintritt, um die Definition für eine neue benutzerdefinierte gespeicherte Prozedur zu skripten. Diese neue, benutzerdefinierte gespeicherte Prozedur sollte das neue Schema für die Tabelle wiedergeben. sp_register_custom_scripting wird bei Publisher in der Publikationsdatenbank ausgeführt, und die registrierte Skriptdatei oder gespeicherte Prozedur wird beim Abonnenten ausgeführt, wenn eine Schemaänderung eintritt.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_register_custom_scripting [ @type  = ] 'type'  
    [ @value = ] 'value'   
    [ , [ @publication = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  

Argumente

[ @type = ] 'type' Ist der Typ der benutzerdefinierten gespeicherten Prozedur oder des Skripts, die registriert werden. type is varchar(16), with no default, and can be one of the following values.

Wert Beschreibung
insert Die registrierte, benutzerdefinierte gespeicherte Prozedur wird ausgeführt, wenn eine INSERT-Anweisung repliziert wird.
Aktualisierung Die registrierte, benutzerdefinierte gespeicherte Prozedur wird ausgeführt, wenn eine UPDATE-Anweisung repliziert wird.
Löschen Die registrierte, benutzerdefinierte gespeicherte Prozedur wird ausgeführt, wenn eine DELETE-Anweisung repliziert wird.
custom_script Das Skript wird am Ende des DDL-Triggers (Data Definition Language) ausgeführt.

[ @value = ] 'value' Name einer gespeicherten Prozedur oder eines namens und vollqualifizierten Pfads zur Transact-SQL-Skriptdatei, die registriert wird. wert ist nvarchar(1024), ohne Standard.

Hinweis

Wenn Sie NULL für den Wertparameterangeben, wird die Registrierung eines zuvor registrierten Skripts aufgehoben, das mit der Ausführung sp_unregister_custom_scripting identisch ist.

Wenn der Wert des Typs custom_script ist, wird der Name und der vollständige Pfad einer Transact-SQL-Skriptdatei erwartet. Andernfalls muss der Wert der Name einer registrierten gespeicherten Prozedur sein.

[ @publication = ] 'publication' Name der Publikation, für die die benutzerdefinierte gespeicherte Prozedur oder das Skript registriert wird. publikation ist sysname, mit einem Standardwert von NULL.

[ @article = ] 'article' Name des Artikels, für den die benutzerdefinierte gespeicherte Prozedur oder das Skript registriert wird. Der Artikel ist "sysname" mit der Standardeinstellung NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_register_custom_scripting wird in Momentaufnahme- und Transaktionsreplikation verwendet.

Diese gespeicherte Prozedur sollte ausgeführt werden, bevor Schemaänderungen an einer replizierten Tabelle vorgenommen werden. Weitere Informationen zur Verwendung dieser gespeicherten Prozedur finden Sie unter "Neuerate Custom Transactional Procedures to Reflect Schema Changes".

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin, der db_owner festen Datenbankrolle oder die db_ddladmin feste Datenbankrolle können sp_register_custom_scripting ausführen.

Weitere Informationen

sp_unregister_custom_scripting (Transact-SQL)