sp_changemergearticle (Transact-SQL)

Gilt für: SQL Server

Ändert die Eigenschaften eines Mergeartikels. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_changemergearticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @property = ] N'property' ]
    [ , [ @value = ] N'value' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]

Argumente

[ @publication = ] N'Publikation'

Der Name der Publikation, in der der Artikel vorhanden ist. @publication ist "sysname" ohne Standard.

[ @article = ] N'article'

Der Name des zu ändernden Artikels. @article ist "sysname" ohne Standard.

[ @property = ] N'property'

Die Eigenschaft, die für den angegebenen Artikel und die publikation geändert werden soll. @property ist "sysname" und kann einer der werte sein, die in der folgenden Tabelle aufgeführt sind.

[ @value = ] N'value'

Der neue Wert für die angegebene Eigenschaft. @value ist nvarchar(2000) und kann einer der werte sein, die in der folgenden Tabelle aufgeführt sind.

Diese Tabelle beschreibt die Eigenschaften von Artikeln und die Werte für diese Eigenschaften.

Eigenschaft Werte Beschreibung
allow_interactive_resolver true Aktiviert die Verwendung eines interaktiven Konfliktlösers für den Artikel.
false Deaktiviert die Verwendung eines interaktiven Konfliktlösers für den Artikel.
article_resolver Benutzerdefinierter Konfliktlöser für den Artikel Gilt nur für einen Tabellenartikel.
check_permissions (Bitmap) 0x00 Berechtigungen auf Tabellenebene werden nicht überprüft.
0x10 Berechtigungen auf Tabellenebene werden beim Verleger überprüft, bevor beim Abonnenten ausgeführte INSERT-Anweisungen auf den Verleger angewendet werden.
0x20 Berechtigungen auf Tabellenebene werden beim Verleger überprüft, bevor beim Abonnenten ausgeführte UPDATE-Anweisungen auf den Verleger angewendet werden.
0x40 Berechtigungen auf Tabellenebene werden beim Verleger überprüft, bevor DELETE-Anweisungen beim Abonnenten auf den Verleger angewendet werden.
column_tracking true Aktiviert die Protokollierung auf Spaltenebene. Gilt nur für einen Tabellenartikel.

Hinweis: Die Nachverfolgung auf Spaltenebene kann nicht verwendet werden, wenn Tabellen mit mehr als 246 Spalten veröffentlicht werden.
false Deaktiviert die Protokollierung auf Spaltenebene und belässt die Konflikterkennung auf der Zeilenebene. Gilt nur für einen Tabellenartikel.
compensate_for_errors true Wenn bei der Synchronisierung Fehler auftreten, werden kompensierende Aktionen ausgeführt. Weitere Informationen finden Sie unter sp_addmergearticle.
false Ausgleichsaktionen werden nicht ausgeführt, was das Standardverhalten ist. Weitere Informationen finden Sie unter sp_addmergearticle.

Wichtig: Obwohl Daten in den betroffenen Zeilen möglicherweise aus der Konvergenz herauskommen, können Änderungen angewendet werden, und Daten konvergent. Wenn die Quelltabelle für einen Artikel bereits in einer anderen Publikation veröffentlicht wird, muss der Wert compensate_for_errors für beide Artikel gleich sein.
creation_script Pfad und Name eines optionalen Artikelschemaskripts, mit dem der Artikel in der Abonnementdatenbank erstellt wurde
delete_tracking true DELETE-Anweisungen werden repliziert. Dies ist das Standardverhalten.
false DELETE-Anweisungen werden nicht repliziert.

Wichtig: Die Einstellung delete_tracking auf false Ergebnisse in Nichtkonvergenz und gelöschte Zeilen muss manuell entfernt werden.
description Beschreibungseintrag für den Artikel.
destination_owner Name des Besitzers des Objekts in der Abonnementdatenbank, wenn nicht dbo.
identity_range bigint, der die Bereichsgröße angibt, die beim Zuweisen neuer Identitätswerte verwendet werden soll, wenn der Artikel auf " festgelegt oder auto_identity_range auf " truefestgelegt auto istidentityrangemanagementoption. Gilt nur für einen Tabellenartikel. Weitere Informationen finden Sie im Abschnitt "Zusammenführen der Replikation" der Replizieridentitätsspalten.
identityrangemanagementoption manual Deaktiviert die automatische Verwaltung des Identitätsbereichs. Kennzeichnet Identitätsspalten mithilfe von NOT FOR REPLICATION, um die manuelle Handhabung des Identitätsbereichs zu aktivieren. Weitere Informationen finden Sie unter Replizieren von Identitätsspalten.
none Deaktiviert die gesamte Verwaltung des Identitätsbereichs.
logical_record_level_conflict_detection true Ein Konflikt wird erkannt, wenn an einer beliebigen Stelle im logischen Datensatz Änderungen vorgenommen werden. Erfordert, dass logical_record_level_conflict_resolution auf true.
false Die Standardmäßige Konflikterkennung wird wie angegeben verwendet.column_tracking
logical_record_level_conflict_resolution true Der gesamte gewinnende logische Datensatz überschreibt den verlierenden logischen Datensatz.
false Gewinnzeilen sind nicht auf den logischen Datensatz beschränkt.
partition_options 0 Die Filterung für den Artikel ist entweder statisch oder liefert keine eindeutige Teilmenge von Daten für jede Partition, d. h. eine "überlappende" Partition.
1 Die Partitionen sind überlappend, und DML-Updates, die am Abonnenten vorgenommen werden, können die Partition, zu der eine Zeile gehört, nicht ändern.
2 Das Filtern für den Artikel ergibt nicht überlappende Partitionen. Mehrere Abonnenten können jedoch die gleiche Partition erhalten.
3 Das Filtern für den Artikel ergibt nicht überlappende Partitionen, die für jedes Abonnement eindeutig sind.

Hinweis: Wenn Sie einen Wert für 3 partition_options" angeben, kann es nur ein einzelnes Abonnement für jede Partition der Daten in diesem Artikel geben. Wenn ein zweites Abonnement erstellt wird, bei dem das Filterkriterium des neuen Abonnements in dieselbe Partition wie das vorhandene Abonnement aufgelöst wird, wird das vorhandene Abonnement gelöscht.
pre_creation_command none Wenn die Tabelle bereits auf dem Abonnenten vorhanden ist, wird keine Aktion ausgeführt.
delete Ein Löschvorgang wird auf der Grundlage der WHERE-Klausel im Teilmengenfilter ausgegeben.
drop Die Tabelle wird vor dem erneuten Erstellen gelöscht.
truncate Schneidet die Zieltabelle ab.
processing_order int , das die Verarbeitungsreihenfolge von Artikeln in einer Zusammenführungsveröffentlichung angibt.
pub_identity_range bigint, der die Bereichsgröße angibt, die einem Abonnenten mit einem Serverabonnement zugewiesen wurde, wenn der Artikel auf auto " festgelegt oder auto_identity_range auf " truefestgelegt istidentityrangemanagementoption. Dieser Identitätsbereich ist für einen Wiederveröffentlichungsabonnenten für die Zuordnung zu dessen Abonnenten reserviert. Gilt nur für einen Tabellenartikel. Weitere Informationen finden Sie im Abschnitt "Zusammenführen der Replikation" der Replizieridentitätsspalten.
published_in_tran_pub true Der Artikel wird zusätzlich in einer Transaktionsveröffentlichung veröffentlicht.
false Artikel wird nicht auch in einer Transaktionsveröffentlichung veröffentlicht.
resolver_info Wird für die Angabe zusätzlicher Informationen verwendet, die für einen benutzerdefinierten Konfliktlöser erforderlich sind. Einige der Microsoft Resolvers erfordern eine Spalte, die als Eingabe für den Resolver bereitgestellt wird. resolver_info is nvarchar(255), with a default of NULL. Weitere Informationen finden Sie unter Advanced Merge Replication Conflict – COM-basierte Resolver.
schema_option (Bitmap) Weitere Informationen finden Sie im Abschnitt Hinweise.
0x00 Deaktiviert die Skripterstellung durch die Momentaufnahmen-Agent und verwendet das in creation_script.
0x01 Generiert das Objekterstellungsskript (CREATE TABLE, CREATE PROCEDURE usw.).
0x10 Generiert einen entsprechenden gruppierten Index.
0x20 Konvertiert benutzerdefinierte Datentypen auf dem Abonnenten in Basisdatentypen. Diese Option kann nicht verwendet werden, wenn eine CHECK- oder DEFAULT-Einschränkung für eine benutzerdefinierte Typspalte (USER-Defined Type, UDT) vorhanden ist, wenn eine UDT-Spalte Teil des Primärschlüssels ist oder eine berechnete Spalte auf eine UDT-Spalte verweist.
0x40 Generiert entsprechende nicht gruppierte Indizes.
0x80 Schließt die deklarative referenzielle Integrität für die Primärschlüssel ein.
0x100 Repliziert Benutzertrigger für einen Tabellenartikel, wenn definiert.
0x200 Repliziert FOREIGN KEY-Einschränkungen. Wenn die referenzierte Tabelle nicht Teil einer Publikation ist, werden alle FOREIGN KEY-Einschränkungen für eine veröffentlichte Tabelle nicht repliziert.
0x400 Repliziert CHECK-Einschränkungen.
0x800 Repliziert Standards.
0x1000 Repliziert die Sortierung auf Spaltenebene.
0x2000 Repliziert erweiterte Eigenschaften, die dem Quellobjekt des veröffentlichten Artikels zugeordnet sind.
0x4000 Repliziert eindeutige Schlüssel, wenn auf einem Tabellenartikel definiert.
0x8000 Generiert ALTER TABLE-Anweisungen beim Erstellen von Skripts mit Einschränkungen.
0x10000 Repliziert CHECK-Einschränkungen als NOT FOR REPLICATION, sodass die Einschränkungen während der Synchronisierung nicht erzwungen werden.
0x20000 Repliziert FOREIGN KEY-Einschränkungen als NOT FOR REPLICATION, sodass die Einschränkungen während der Synchronisierung nicht erzwungen werden.
0x40000 Repliziert Dateigruppen, die mit einer partitionierten Tabelle oder einem Index verbunden sind.
0x80000 Repliziert das Partitionsschema für eine partitionierte Tabelle.
0x100000 Repliziert das Partitionsschema für einen partitionierten Index.
0x200000 Repliziert Tabellenstatistiken.
0x400000 Repliziert Standardbindungen
0x800000 Repliziert Regelbindungen.
0x1000000 Repliziert den Volltextindex.
0x2000000 XML-Schemaauflistungen, die an XML-Spalten gebunden sind, werden nicht repliziert.
0x4000000 Repliziert Indizes in XML-Spalten .
0x8000000 Legt Schemas an, die auf dem Abonnent noch nicht vorhanden sind.
0x10000000 Konvertiert XML-Spalten in "ntext" für den Abonnenten.
0x20000000 Konvertiert große Objektdatentypen (nvarchar(max), varchar(max) und varbinary(max)), die in SQL Server 2005 (9.x) eingeführt wurden, in Datentypen, die in SQL Server 2000 (8.x) unterstützt werden.
0x40000000 Berechtigungen für die Replikation.
0x80000000 Versuchen Sie, Abhängigkeiten von Objekten abzulegen, die nicht Teil der Publikation sind.
0x100000000 Verwenden Sie diese Option, um das FILESTREAM-Attribut zu replizieren, wenn es für varbinary(max) -Spalten angegeben ist. Geben Sie diese Option nicht an, wenn Sie Tabellen in SQL Server 2005 (9.x)-Abonnenten replizieren. Das Replizieren von Tabellen mit FILESTREAM-Spalten auf SQL Server 2000 (8.x) Abonnenten wird unabhängig davon, wie diese Schemaoption festgelegt wird, nicht unterstützt. Siehe verwandte Option 0x800000000.
0x200000000 Konvertiert Datums- und Uhrzeitdatentypen (Datum, Uhrzeit, Datetimeoffset und Datetime2), die in SQL Server 2008 (10.0.x) eingeführt werden, in Datentypen, die in früheren Versionen von SQL Server unterstützt werden.
0x400000000 Repliziert die Komprimierungsoption für Daten und Indizes. Weitere Informationen finden Sie unter Datenkomprimierung.
0x800000000 Legen Sie diese Option fest, um FILESTREAM-Daten in einer eigenen Dateigruppe auf dem Abonnenten zu speichern. Wenn diese Option nicht festgelegt ist, werden FILESTREAM-Daten in der Standarddateigruppe gespeichert. Die Replikation erstellt keine Dateigruppen; Wenn Sie diese Option festlegen, müssen Sie daher die Dateigruppe erstellen, bevor Sie die Momentaufnahme beim Abonnenten anwenden. Weitere Informationen zum Erstellen von Objekten, bevor Sie die Momentaufnahme anwenden, finden Sie unter Execute Scripts Before and After the Snapshot Is Applied.

Siehe verwandte Option 0x100000000.
0x1000000000 Wandelt benutzerdefinierte Typen (Common Language Runtime, CLR) in varbinary(max) um, sodass Spalten vom Typ UDT in Abonnenten repliziert werden können, die SQL Server 2005 (9.x) ausführen.
0x2000000000 Wandelt den hierarchyid-Datentyp in varbinary(max) um, sodass Spalten der Typhierarchie-ID in Abonnenten repliziert werden können, die SQL Server 2005 (9.x) ausführen. Weitere Informationen zur Verwendung von Hierarchie-ID-Spalten in replizierten Tabellen finden Sie in der Referenz zur Hierarchie-Datentypmethode.
0x4000000000 Repliziert die gefilterten Indizes in der Tabelle. Weitere Informationen zu gefilterten Indizes finden Sie unter Erstellen gefilterter Indizes.
0x8000000000 Wandelt die Geografie - und Geometriedatentypen in varbinary(max) um, sodass Spalten dieser Typen in Abonnenten repliziert werden können, die SQL Server 2005 (9.x) ausführen.
0x10000000000 Repliziert Indizes für Spalten vom Typ "Geografie " und "Geometrie".
NULL Das System generiert automatisch eine gültige Schemaoption für den Artikel.
status active Das Anfangsverarbeitungsskript zur Veröffentlichung der Tabelle wird ausgeführt.
unsynced Das Anfangsverarbeitungsskript zum Veröffentlichen der Tabelle wird ausgeführt, wenn der Momentaufnahme-Agent das nächste Mal ausgeführt wird.
stream_blob_columns true Beim Replizieren von BLOB-Spalten (Binary Large Object) wird eine Datenstromoptimierung verwendet. Bestimmte Funktionalitäten der Mergereplikation, wie z. B. logische Datensätze, können jedoch weiterhin verhindern, dass die Datenstromoptimierung verwendet wird. stream_blob_columns ist auf "true" festgelegt, wenn FILESTREAM aktiviert ist. Dadurch werden die Replikation der FILESTREAM-Daten optimal ausgeführt und die Arbeitsspeicherauslastung reduziert. Wenn Sie erzwingen möchten, dass FILESTREAM-Tabellenartikel kein BLOB-Streaming verwenden, legen Sie diesen Wert auf "false" fest stream_blob_columns .

Wichtig: Das Aktivieren dieser Speicheroptimierung kann die Leistung der Merge-Agent während der Synchronisierung beeinträchtigen. Die Option sollte nur verwendet werden, wenn Spalten mit Megabytes von Daten repliziert werden.
false Die Optimierung wird beim Replizieren binärer großer Objektspalten nicht verwendet.
subscriber_upload_options 0 Keine Einschränkungen für Updates, die bei einem Abonnenten mit einem Clientabonnement vorgenommen werden. Änderungen werden auf den Verleger hochgeladen. Das Ändern dieser Eigenschaft erfordert möglicherweise, dass vorhandene Abonnenten erneut initialisiert werden.
1 Änderungen sind bei einem Abonnenten mit einem Clientabonnement zulässig, werden aber nicht in den Publisher hochgeladen.
2 Änderungen sind bei einem Abonnenten mit einem Clientabonnement nicht zulässig.
subset_filterclause WHERE-Klausel für das horizontale Filtern. Gilt nur für einen Tabellenartikel.

Wichtig: Aus Leistungsgründen wird empfohlen, keine Funktionen auf Spaltennamen in parametrisierten Zeilenfilterklauseln anzuwenden, z LEFT([MyColumn]) = SUSER_SNAME(). B. . Wenn Sie HOST_NAME in einer Filterklausel verwenden und den HOST_NAME Wert außer Kraft setzen, müssen Sie möglicherweise Datentypen mithilfe von CONVERT konvertieren. Weitere Informationen zu bewährten Methoden für diesen Fall finden Sie im Abschnitt "Überschreiben des HOST_NAME()-Werts" in parametrisierten Filtern – Parametrisierte Zeilenfilter.
threshold Prozentsatzwert, der für Abonnenten verwendet wird, die SQL Server Compact oder frühere Versionen von SQL Server ausführen. thresholdsteuert, wenn der Merge-Agent einen neuen Identitätsbereich zuweist. Wenn der im Schwellenwert angegebene Prozentsatz verwendet wird, erstellt der Merge-Agent einen neuen Identitätsbereich. Wird verwendet, wenn identityrangemanagementoption sie auf auto " festgelegt" festgelegt ist oder auto_identity_range auf " truefestgelegt ist. Gilt nur für einen Tabellenartikel. Weitere Informationen finden Sie im Abschnitt "Zusammenführen der Replikation" der Replizieridentitätsspalten.
verify_resolver_signature 1 Digitale Signatur für einen benutzerdefinierten Resolver wird überprüft, um zu ermitteln, ob sie von einer vertrauenswürdigen Quelle stammt.
0 Digitale Signatur auf einem benutzerdefinierten Resolver wird nicht überprüft, um festzustellen, ob es sich um eine vertrauenswürdige Quelle handelt.
NULL (Standard) Gibt die Liste der unterstützten Werte für @property zurück.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise eine vorhandene Momentaufnahme ungültig macht. @force_invalidate_snapshot ist bit, mit einem Standardwert von 0.

  • 0 Gibt an, dass Änderungen am Seriendruckartikel nicht dazu führen, dass die Momentaufnahme ungültig ist. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen eine neue Momentaufnahme erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.

  • 1 bedeutet, dass Änderungen am Seriendruckartikel dazu führen können, dass die Momentaufnahme ungültig ist, und wenn vorhandene Abonnements vorhanden sind, die eine neue Momentaufnahme erfordern würden, erteilen Sie die Berechtigung, dass die vorhandene Momentaufnahme als veraltet markiert und eine neue Momentaufnahme generiert wird.

Im Abschnitt "Hinweise" finden Sie die Eigenschaften, die beim Ändern die Generierung einer neuen Momentaufnahme erfordern.

[ @force_reinit_subscription = ] force_reinit_subscription

Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise das erneute Initialisieren von vorhandenen Abonnements erfordert. @force_reinit_subscription ist bit, mit einem Standardwert von 0.

  • 0 Gibt an, dass Änderungen am Seriendruckartikel nicht dazu führen, dass das Abonnement erneut initialisiert wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderung die Neuinitialisierung vorhandener Abonnements erfordert, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.

  • 1 bedeutet, dass Änderungen am Seriendruckartikel dazu führen, dass vorhandene Abonnements erneut initialisiert werden und die Berechtigung für die Erneute Initialisierung des Abonnements erteilt werden.

Im Abschnitt "Hinweise" finden Sie die Eigenschaften, die bei änderung erforderlich sind, dass alle vorhandenen Abonnements erneut initialisiert werden.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

sp_changemergearticle wird in der Seriendruckreplikation verwendet.

Da sp_changemergearticle verwendet wird, um Artikeleigenschaften zu ändern, die ursprünglich mithilfe von sp_addmergearticle angegeben wurden, finden Sie unter sp_addmergearticle weitere Informationen zu diesen Eigenschaften.

Das Ändern der folgenden Eigenschaften erfordert, dass eine neue Momentaufnahme generiert wird, und Sie müssen einen Wert 1 für den parameter @force_invalidate_snapshot angeben:

  • check_permissions
  • column_tracking
  • destination_owner
  • pre_creation_command
  • schema_options
  • subset_filterclause

Das Ändern der folgenden Eigenschaften erfordert, dass vorhandene Abonnements erneut initialisiert werden, und Sie müssen einen Wert 1 für den parameter @force_reinit_subscription angeben:

  • check_permissions
  • column_tracking
  • destination_owner
  • pre_creation_command
  • identityrangemanagementoption
  • subscriber_upload_options
  • subset_filterclause
  • creation_script
  • schema_option
  • logical_record_level_conflict_detection
  • logical_record_level_conflict_resolution

Wenn Sie einen Wert für 3 partition_options" angeben, werden Metadaten bereinigt, wenn die Merge-Agent ausgeführt wird und die partitionierte Momentaufnahme schneller abläuft. Beim Verwenden dieser Option sollten Sie in Erwägung ziehen, vom Abonnenten angeforderte partitionierte Momentaufnahmen zu aktivieren. Weitere Informationen finden Sie unter Erstellen einer Momentaufnahme für eine Mergeveröffentlichung mit parametrisierten Filtern.

Wenn Sie die column_tracking Eigenschaft festlegen, wenn die Tabelle bereits in anderen Zusammenführungspublikationen veröffentlicht wurde, muss die Spaltennachverfolgung mit dem Wert übereinstimmen, der von vorhandenen Artikeln basierend auf dieser Tabelle verwendet wird. Dieser Parameter ist nur für Tabellenartikel spezifisch.

Wenn mehrere Publikationen Artikel basierend auf derselben zugrunde liegenden Tabelle veröffentlichen, bewirkt das Ändern der delete_tracking Eigenschaft oder der compensate_for_errors Eigenschaft für einen Artikel die gleiche Änderung an den anderen Artikeln, die auf derselben Tabelle basieren.

Wenn das vom Zusammenführungsprozess verwendete Publisher-Anmelde-/Benutzerkonto nicht über die richtigen Tabellenberechtigungen verfügt, werden die ungültigen Änderungen als Konflikte protokolliert.

Wenn Sie den Wert ändern schema_option, führt das System keine bitweise Aktualisierung durch. Dies bedeutet, dass vorhandene Biteinstellungen möglicherweise deaktiviert werden, wenn Sie die Verwendung verwenden schema_option sp_changemergearticle. Um die vorhandenen Einstellungen beizubehalten, sollten Sie zwischen dem Wert, den Sie festlegen, und dem aktuellen Wert schema_optionausführen, der durch Ausführen sp_helpmergearticle bestimmt werden kann.

Achtung

Wenn Sie viele (vielleicht Hunderte) von Artikeln in einer Publikation und für einen der Artikel ausführen sp_changemergearticle , kann es eine lange Zeit dauern, bis die Ausführung abgeschlossen ist.

Gültige Schemaoptionstabelle

In der folgenden Tabelle werden die zulässigen schema_option Werte je nach Artikeltyp beschrieben.

Artikeltyp Schemaoptionswerte
func schema only 0x01 und 0x2000
indexed view schema only 0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000 und 0x200000
proc schema only 0x01 und 0x2000
table Alle Optionen
view schema only 0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000 und 0x200000

Beispiele

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article = N'SalesOrderHeader';

-- Enable column-level conflict tracking.
-- Changing this property requires that existing subscriptions
-- be reinitialized and that a new snapshot be generated.
USE [AdventureWorks2022]
EXEC sp_changemergearticle 
  @publication = @publication,
  @article = @article, 
  @property = N'column_tracking', 
  @value = N'true',
  @force_invalidate_snapshot = 1,
  @force_reinit_subscription = 1;
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder db_owner feste Datenbankrolle können ausgeführt werden sp_changemergearticle.