sp_repladdcolumn (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Fügt eine Spalte zu einem vorhandenen Tabellenartikel hinzu, der veröffentlicht worden ist. Dadurch kann die neue Spalte zu allen Verlegern hinzugefügt werden, die diese Tabelle veröffentlichen, oder die Spalte kann ausschließlich zu einer bestimmten Veröffentlichung hinzugefügt werden, die die Tabelle veröffentlicht. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Wichtig

Diese gespeicherte Prozedur wurde als veraltet markiert und wird aus Gründen der Abwärtskompatibilität unterstützt. Sie sollte nur mit Microsoft SQL Server 2000 (8.x)-Herausgebern und SQL Server 2000 (8.x) wiederveröffentlichten Abonnenten verwendet werden. Dieses Verfahren sollte nicht für Spalten mit Datentypen verwendet werden, die in SQL Server 2005 (9.x) oder höher eingeführt wurden.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]  
    [ , [ @typetext = ] 'typetext' ]  
    [ , [ @publication_to_add = ] 'publication_to_add' ]  
    [ , [ @from_agent = ] from_agent ]  
    [ , [ @schema_change_script = ] 'schema_change_script' ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  

Argumente

[ @source_object =] 'source_object'
Ist der Name des Tabellenartikels, der die hinzuzufügende neue Spalte enthält. source_object ist nvarchar(358), ohne Standard.

[ @column =] 'Spalte'
Ist der Name der Spalte in der für die Replikation hinzuzufügenden Tabelle. Spalte ist "sysname" ohne Standard.

[ @typetext =] 'typetext'
Entspricht der Definition der Spalte, die hinzugefügt wird. typetext is nvarchar(3000), with no default. Wenn z. B. die Spalte order_filled hinzugefügt wird und es sich um ein einzelnes Zeichenfeld und nicht UM NULL handelt und einen Standardwert von N aufweist, wäre order_filled der Spaltenparameter , während die Definition der Spalte, char(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N' der Typtextparameterwert wäre.

[ @publication_to_add =] 'publication_to_add'
Ist der Name der Veröffentlichung, der die neue Spalte hinzugefügt wird. publication_to_add ist nvarchar(4000), wobei die Standardeinstellung ALL ist. Wenn ALLE, sind alle Publikationen, die diese Tabelle enthalten, betroffen. Wenn publication_to_add angegeben ist, wird nur diese Publikation die neue Spalte hinzugefügt.

[ @from_agent = ] from_agent
Gibt an, ob die gespeicherte Prozedur von einem Replikations-Agent ausgeführt wird. from_agent ist int, mit einem Standardwert von 0, wobei ein Wert von 1 verwendet wird, wenn diese gespeicherte Prozedur von einem Replikations-Agent ausgeführt wird, und in jedem anderen Fall sollte der Standardwert 0verwendet werden.

[ @schema_change_script =] 'schema_change_script'
Gibt den Namen und Pfad eines SQL Server-Skripts an, das zum Ändern des vom System generierten benutzerdefinierten gespeicherten Prozeduren verwendet wird. schema_change_script ist nvarchar(4000), wobei der Standardwert NULL ist. Mithilfe der Replikation ist es möglich, mindestens eine der bei der Transaktionsreplikation verwendeten Standardprozeduren durch benutzerdefinierte gespeicherte Prozeduren zu ersetzen. schema_change_script wird ausgeführt, nachdem eine Schemaänderung an einem replizierten Tabellenartikel mit sp_repladdcolumn vorgenommen wurde, und kann verwendet werden, um eine der folgenden Aktionen auszuführen:

  • Wenn benutzerdefinierte gespeicherte Prozeduren automatisch neu generiert werden, können schema_change_script verwendet werden, um diese benutzerdefinierten gespeicherten Prozeduren abzulegen und durch benutzerdefinierte gespeicherte Prozeduren zu ersetzen, die das neue Schema unterstützen.

  • Wenn benutzerdefinierte gespeicherte Prozeduren nicht automatisch neu generiert werden, können schema_change_scriptverwendet werden, um diese gespeicherten Prozeduren neu zu generieren oder benutzerdefinierte gespeicherte Prozeduren zu erstellen.

[ @force_invalidate_snapshot = ] force_invalidate_Momentaufnahme
Aktiviert oder deaktiviert die Möglichkeit, eine Momentaufnahme für ungültig zu erklären. force_invalidate_Momentaufnahme ist ein bisschen mit der Standardeinstellung 1.

1 gibt an, dass Änderungen am Artikel dazu führen können, dass die Momentaufnahme ungültig sind, und wenn dies der Fall ist, erteilt ein Wert von 1 die Berechtigung für den neuen Momentaufnahme.

0 gibt an, dass Änderungen am Artikel nicht dazu führen, dass die Momentaufnahme ungültig sind.

[ @force_reinit_subscription = ] force_reinit_subscription
Aktiviert oder deaktiviert die Möglichkeit, das Abonnement erneut zu initialisieren. force_reinit_subscription ist ein bisschen mit der Standardeinstellung 0.

0 gibt an, dass Änderungen am Artikel nicht dazu führen, dass das Abonnement erneut initialisiert wird.

1 gibt an, dass Änderungen am Artikel dazu führen können, dass das Abonnement erneut initialisiert wird, und wenn dies der Fall ist, erteilt ein Wert von 1 die Berechtigung für die Erneute Initialisierung des Abonnements.

Rückgabecodewerte

„0“ (erfolgreich) oder „1“ (fehlerhaft)

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin und der festen Datenbankrolle db_owner können sp_repladdcolumn ausführen.

Weitere Informationen

Als veraltet markierte Funktionen der SQL Server-Replikation
Gespeicherte Systemprozeduren (Transact-SQL)