sp_changearticle (Transact-SQL)
Aktualisiert: 14. April 2006
Ändert die Eigenschaften eines Artikels in einer Transaktions- oder Snapshotpublikation. Diese gespeicherte Prozedur wird beim Verleger mit der Publikationsdatenbank ausgeführt.
Transact-SQL-Syntaxkonventionen
Syntax
sp_changearticle [ [@publication= ] 'publication' ]
[ , [ @article= ] 'article' ]
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] 'publisher' ]
Argumente
- [ @publication=] 'publication'
Der Name der Publikation, die den Artikel enthält. publication ist ein Wert vom Datentyp sysname. Der Standardwert ist NULL.
- [ @article=] 'article'
Der Name des Artikels, dessen Eigenschaft geändert werden soll. article ist ein Wert vom Datentyp sysname. Der Standardwert ist NULL.
- [ @property=] 'property'
Die zu ändernde Artikeleigenschaft. property ist ein Wert vom Datentyp nvarchar(100).
[ @value=] 'value'
Der neue Wert der Artikeleigenschaft. value ist vom Datentyp nvarchar(255).Diese Tabelle beschreibt die Eigenschaften von Artikeln und die Werte für diese Eigenschaften.
Eigenschaft
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion einen vorhandenen Snapshot für ungültig erklären kann. force_invalidate_snapshot ist ein Wert vom Datentyp bit. Der Standardwert ist 0.Der Wert 0 gibt an, dass Änderungen an dem Artikel nicht bewirken, dass der Snapshot ungültig wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen einen neuen Snapshot erfordern, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.
Der Wert 1 gibt an, dass der Snapshot durch Ändern des Artikels ungültig werden kann. Wenn Abonnements vorhanden sind, die einen neuen Snapshot erfordern, wird mit diesem Wert die Berechtigung erteilt, den vorhandenen Snapshot als veraltet zu markieren und einen neuen Snapshot zu generieren.
Weitere Informationen zu den Eigenschaften, deren Änderung zur Folge hat, dass ein neuer Snapshot erstellt werden muss, finden Sie im Abschnitt zu den Hinweisen.
[ **@force_reinit_subscription=]**force_reinit_subscription
Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion die erneute Initialisierung vorhandener Abonnements erfordern kann. force_reinit_subscription ist vom Datentyp bit. Der Standardwert ist 0.Der Wert 0 gibt an, dass Änderungen an dem Artikel nicht bewirken, dass das Abonnement neu initialisiert wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderung die erneute Initialisierung von vorhandenen Abonnements erfordert, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.
Der Wert 1 gibt an, dass Änderungen am Artikel die erneute Initialisierung vorhandener Abonnements bewirken. Außerdem wird mit diesem Wert die Berechtigung zur erneuten Initialisierung des Abonnements erteilt.
Weitere Informationen zu den Eigenschaften, deren Änderung zur Folge hat, dass alle vorhandenen Abonnements neu initialisiert werden müssen, finden Sie im Abschnitt zu den Hinweisen.
[ @publisher= ] 'publisher'
Gibt einen Nicht-SQL Server-Verleger an. publisher ist ein Wert vom Datentyp sysname und besitzt den Standardwert NULL.Hinweis: publisher sollte nicht beim Ändern von Artikeleigenschaften für einen SQL Server-Verleger verwendet werden.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_changearticle wird bei der Snapshot- und Transaktionsreplikation verwendet.
Wenn ein Artikel zu einer Publikation gehört, die die Peer-to-Peer-Transaktionsreplikation unterstützt, können Sie nur die Eigenschaften von description, ins_cmd, upd_cmd und del_cmd ändern.
Das Ändern einer der folgenden Eigenschaften erfordert die Generierung eines neuen Snapshots, und Sie müssen einen Wert von 1 für den force_invalidate_snapshot-Parameter angeben:
- del_cmd
- dest_table
- destination_owner
- ins_cmd
- pre_creation_cmd
- schema_options
- upd_cmd
Für das Ändern einer der folgenden Eigenschaften müssen vorhandene Abonnements neu initialisiert werden. Außerdem müssen Sie den Wert 1 für den force_reinit_subscription-Parameter angeben.
- del_cmd
- dest_table
- destination_owner
- Filter
- ins_cmd
- status
- upd_cmd
Innerhalb einer vorhandenen Publikation können Sie mithilfe von sp_changearticle einen Artikel ändern, ohne die gesamte Publikation löschen und erneut erstellen zu müssen.
Hinweis: |
---|
Bei einer Änderung des Wertes von schema_option führt das System kein bitweises Update aus. Das bedeutet, dass beim Festlegen von schema_option mit sp_changearticle möglicherweise vorhandene Biteinstellungen deaktiviert werden. Um die vorhandenen Einstellungen beizubehalten, sollten Sie & (Bitweises AND) zwischen dem festzulegenden Wert und dem aktuellen Wert von schema_option ausführen. Dieser kann durch Ausführen von sp_helparticle bestimmt werden. |
Gültige Schemaoptionen
In der folgenden Tabelle werden die zulässigen Werte von schema_option beschrieben, die auf dem Replikationstyp basieren, der oben angezeigt wird, sowie auf dem Artikeltyp, der in der ersten Spalte angezeigt wird.
Artikeltyp | Replikationstyp | |
---|---|---|
|
Transaktion |
Snapshot |
logbased |
Alle Optionen |
Alle Optionen außer 0x02 |
logbased manualfilter |
Alle Optionen |
Alle Optionen außer 0x02 |
logbased manualview |
Alle Optionen |
Alle Optionen außer 0x02 |
indexed view logbased |
Alle Optionen |
Alle Optionen außer 0x02 |
indexed view logbased manualfilter |
Alle Optionen |
Alle Optionen außer 0x02 |
indexed view logbased manualview |
Alle Optionen |
Alle Optionen außer 0x02 |
indexed view logbase manualboth |
Alle Optionen |
Alle Optionen außer 0x02 |
proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
serialized proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
proc schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 und 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 und 0x80000000 |
func schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 und 0x80000000 |
indexed view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 und 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 und 0x80000000 |
Hinweis: |
---|
Für Publikationen mit verzögerter Aktualisierung über eine Warteschlange muss für schema_option der Wert 0x80 aktiviert werden. Die unterstützten schema_option-Werte für Nicht-SQL Server-Publikationen sind: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000 und 0x4000. |
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_changearticle ausführen.
Beispiel
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));
-- Change the schema options to replicate schema with XML.
USE [AdventureWorks]
EXEC sp_changearticle
@publication = @publication,
@article = @article,
@property = N'schema_option',
@value = @option,
@force_invalidate_snapshot = 1;
GO
Siehe auch
Verweis
sp_addarticle (Transact-SQL)
sp_articlecolumn (Transact-SQL)
sp_droparticle (Transact-SQL)
sp_helparticle (Transact-SQL)
sp_helparticlecolumns (Transact-SQL)
Andere Ressourcen
How to: View and Modify Article Properties (Replication Transact-SQL Programming)
Ändern von Publikations- und Artikeleigenschaften
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
14. April 2006 |
|
05. Dezember 2005 |
|