sp_changemergepublication (Transact-SQL)
Ändert die Eigenschaften einer Mergeveröffentlichung. Diese gespeicherte Prozedur wird beim Verleger mit der Veröffentlichungsdatenbank ausgeführt.
Syntax
sp_changemergepublication [ @publication= ] 'publication'
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
Argumente
[ @publication=\] 'publication'
Der Name der Veröffentlichung. publication ist ein Wert vom Datentyp sysname und hat keinen Standardwert.[ @property=\] 'property'
Die Eigenschaft, die für die angegebene Veröffentlichung geändert werden soll. property ist ein Wert vom Datentyp sysname. Die in der Tabelle aufgeführten Werte sind möglich.[ @value=\] 'value'
Der neue Wert für die angegebene Eigenschaft. value ist ein Wert vom Datentyp nvarchar(255). Die in der folgenden Tabelle aufgeführten Werte sind möglich.Diese Tabelle beschreibt die änderbaren Eigenschaften der Veröffentlichung sowie die Einschränkungen für die Werte dieser Eigenschaften.
Eigenschaft
Wert
Beschreibung
allow_anonymous
true
Anonyme Abonnements sind zulässig.
false
Anonyme Abonnements sind nicht zulässig.
allow_partition_realignment
true
Löschvorgänge werden an den Abonnenten gesendet, um die Ergebnisse einer Partitionsänderung widerzuspiegeln, indem Daten entfernt werden, die nicht mehr Bestandteil der Partition des Abonnenten sind. Dies ist das Standardverhalten.
false
Daten einer alten Partition verbleiben auf dem Abonnenten. Änderungen an diesen Daten auf dem Verleger werden nicht an diesen Abonnenten repliziert. Stattdessen werden auf dem Abonnenten vorgenommene Änderungen an den Verleger repliziert. Auf diese Weise werden Daten in einem Abonnement aus einer alten Partition beibehalten, wenn die Daten noch benötigt werden.
allow_pull
true
Pullabonnements sind für die angegebene Veröffentlichung zulässig.
false
Pullabonnements sind für die angegebene Veröffentlichung nicht zulässig.
allow_push
true
Pushabonnements sind für die angegebene Veröffentlichung zulässig.
false
Pushabonnements sind für die angegebene Veröffentlichung nicht zulässig.
allow_subscriber_initiated_snapshot
true
Der Abonnent kann den Snapshotprozess initiieren.
false
Der Abonnent kann den Snapshotprozess nicht initiieren.
allow_subscription_copy
true
Sie können die Abonnementdatenbanken kopieren, die diese Veröffentlichung abonniert haben.
false
Sie können die Abonnementdatenbanken, die diese Veröffentlichung abonniert haben, nicht kopieren.
allow_synctoalternate
true
Lässt einen alternativen Synchronisierungspartner für die Synchronisierung mit diesem Verleger zu.
false
Lässt keinen alternativen Synchronisierungspartner für die Synchronisierung mit diesem Verleger zu.
allow_web_synchronization
true
Abonnements können über HTTPS synchronisiert werden.
false
Abonnements können nicht über HTTPS synchronisiert werden.
alt_snapshot_folder
Gibt den Speicherort des alternativen Ordners für den Snapshot an.
automatic_reinitialization_policy
1
Änderungen werden vor der Neuinitialisierung vom Abonnenten hochgeladen.
0
Das Abonnement wird erneut initialisiert, ohne die Änderungen vorher hochzuladen.
centralized_conflicts
true
Alle Konfliktdatensätze werden auf dem Verleger gespeichert. Wenn Sie diese Eigenschaft ändern, müssen vorhandene Abonnenten erneut initialisiert werden.
false
Konfliktdatensätze werden auf dem Server gespeichert, der bei der Konfliktauflösung verloren hat. Wenn Sie diese Eigenschaft ändern, müssen vorhandene Abonnenten erneut initialisiert werden.
compress_snapshot
true
Der Snapshot in einem alternativen Snapshotordner wird in das CAB-Format komprimiert. Der Snapshot im Standardsnapshotordner kann nicht komprimiert werden. Für das Ändern dieser Eigenschaft ist ein neuer Snapshot erforderlich.
false
Standardmäßig wird der Snapshot nicht komprimiert. Für das Ändern dieser Eigenschaft ist ein neuer Snapshot erforderlich.
conflict_logging
publisher
Die Konfliktdatensätze werden auf dem Verleger gespeichert.
subscriber
Die Konfliktdatensätze werden auf dem Abonnenten gespeichert, der den Konflikt verursacht hat. Dies wird für SQL Server Compact 3.5 SP2-Abonnenten nicht unterstützt.
both
Die Konfliktdatensätze werden auf dem Verleger und auf dem Abonnenten gespeichert.
conflict_retention
int gibt die Beibehaltungsdauer in Tagen an, für die Konflikte beibehalten werden. Die Festlegung von conflict_retention auf 0 bedeutet, dass kein Konfliktcleanup erforderlich ist.
description
Die Beschreibung der Veröffentlichung.
dynamic_filters
true
Die Veröffentlichung wird anhand einer dynamischen Klausel gefiltert.
false
Die Veröffentlichung wird nicht dynamisch gefiltert.
enabled_for_internet
true
Die Veröffentlichung ist für das Internet aktiviert. File Transfer Protocol (FTP) kann verwendet werden, um die Snapshotdateien an einen Abonnenten zu übertragen. Die Synchronisierungsdateien für die Veröffentlichung werden im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL\Repldata\ftp gespeichert.
false
Die Veröffentlichung ist nicht für das Internet aktiviert.
ftp_address
Die Netzwerkadresse des FTP-Diensts für den Verteiler. Gibt an, wo die Snapshotdateien für die Veröffentlichung gespeichert werden.
ftp_login
Der Benutzername, mit dem eine Verbindung mit dem FTP-Dienst hergestellt wird.
ftp_password
Das Benutzerkennwort, mit dem eine Verbindung zum FTP-Dienst hergestellt wird.
ftp_port
Die Nummer des Anschlusses für den FTP-Dienst des Verteilers. Gibt die TCP-Anschlussnummer der FTP-Site an, in der die Snapshotdateien für die Veröffentlichung gespeichert werden.
ftp_subdirectory
Gibt an, wo die Snapshotdateien erstellt werden, wenn die Veröffentlichung das Verteilen von Snapshots mithilfe von FTP unterstützt.
generation_leveling_threshold
int
Gibt die Anzahl der Änderungen an, die in einer Generierung enthalten sind. Eine Generierung ist eine Auflistung von Änderungen, die an einen Verleger oder Abonnenten übermittelt werden. Weitere Informationen finden Sie unter Funktionsweise der Nachverfolgung und der Enumeration bei der Mergereplikation.
keep_partition_changes
true
Die Synchronisierung wird optimiert, und es sind nur Abonnenten betroffen, die über Zeilen in den geänderten Partitionen verfügen. Für das Ändern dieser Eigenschaft ist ein neuer Snapshot erforderlich.
false
Die Synchronisierung wird nicht optimiert, und die an Abonnenten gesendeten Partitionen werden überprüft, wenn sich Daten in einer Partition ändern. Für das Ändern dieser Eigenschaft ist ein neuer Snapshot erforderlich.
max_concurrent_merge
Ist vom Datentyp int und stellt die maximale Anzahl gleichzeitiger Mergeprozesse dar, die für eine Mergeveröffentlichung ausgeführt werden können. Bei 0 gibt es keine Beschränkung. Wenn die gleichzeitige Ausführung von mehr Mergeprozessen geplant ist, werden die überschüssigen Aufträge in eine Warteschlange eingereiht, in der diese darauf warten, dass ein aktuell ausgeführter Mergeprozess beendet wird.
max_concurrent_dynamic_snapshots
Ist vom Datentyp int und stellt die maximale Anzahl gleichzeitiger Snapshotsitzungen zum Generieren eines Snapshots mit gefilterten Daten dar, die gleichzeitig für eine Mergeveröffentlichung ausgeführt werden können, die parametrisierte Zeilenfilter verwendet. Im Fall von 0 liegt keine Beschränkung vor. Wenn die gleichzeitige Ausführung von mehr Snapshotprozessen geplant ist, werden die überschüssigen Aufträge in eine Warteschlange eingereiht, bis ein aktueller Mergeprozess beendet wird.
post_snapshot_script
Gibt einen Zeiger auf einen Speicherort für .sql-Dateien an. Der Verteilungs-Agent oder der Merge-Agent führt post_snapshot_script aus, nachdem alle andere Skripts für replizierte Objekte und Daten während der Erstsynchronisierung angewendet wurden. Für das Ändern dieser Eigenschaft ist ein neuer Snapshot erforderlich.
pre_snapshot_script
Gibt einen Zeiger auf einen Speicherort für .sql-Dateien an. Der Merge-Agent führt pre_snapshot_script vor allen Skripts für replizierte Objekte aus, wenn der Snapshot auf einem Abonnenten angewendet wird. Für das Ändern dieser Eigenschaft ist ein neuer Snapshot erforderlich.
publication_compatibility_level
100RTM
SQL Server 2008
90RTM
SQL Server 2005
80SP3
SQL Server 2000 SP3
80SP2
SQL Server 2000 SP2
80SP1
SQL Server 2000 SP2
80RTM
SQL Server 2000
70 SP4
SQL Server 7.0 SP4
70SP3
SQL Server 7.0 SP3
70SP2
SQL Server 7.0 SP2
70SP1
SQL Server 7.0 SP1
70RTM
SQL Server 7.0
publish_to_activedirectory
true
Dieser Parameter wurde als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität von Skripts unterstützt. Sie können Active Directory nicht länger Veröffentlichungsinformationen hinzufügen.
false
Entfernt die Veröffentlichungsinformationen aus Active Directory.
replicate_ddl
1
Auf dem Verleger ausgeführte Anweisungen der Datendefinitionssprache (DDL, Data Definition Language) werden repliziert.
0
DDL-Anweisungen werden nicht repliziert.
retention
Ist vom Datentyp int und stellt die Anzahl von retention_period_unit-Einheiten dar, für die Änderungen für die angegebene Veröffentlichung gespeichert werden sollen. Wenn das Abonnement nicht innerhalb der Beibehaltungsdauer synchronisiert wird und die ausstehenden Änderungen von einem Cleanupvorgang auf dem Verteiler entfernt wurden, läuft das Abonnement ab und muss erneut initialisiert werden. Die maximal zulässige Beibehaltungsdauer entspricht der Anzahl von Tagen zwischen dem 31. Dezember 9999 und dem aktuellen Datum.
HinweisFür die Beibehaltungsdauer von Mergeveröffentlichungen gilt eine Kulanzfrist von 24 Stunden, um Abonnenten in verschiedenen Zeitzonen zu unterstützen.retention_period_unit
day
Die Beibehaltungsdauer wird in Tagen angegeben.
week
Die Beibehaltungsdauer wird in Wochen angegeben.
month
Die Beibehaltungsdauer wird in Monaten angegeben.
year
Die Beibehaltungsdauer wird in Jahren angegeben.
snapshot_in_defaultfolder
true
Snapshotdateien werden im Standardsnapshotordner gespeichert.
false
Snapshotdateien werden am alternativen Speicherort gespeichert, der durch alt_snapshot_folder angegeben wird. Diese Kombination gibt an, dass die Snapshotdateien sowohl im Standardspeicherort als auch in alternativen Speicherorten gespeichert werden.
snapshot_ready
true
Der Snapshot für die Veröffentlichung ist verfügbar.
false
Der Snapshot für die Veröffentlichung ist nicht verfügbar.
status
active
Die Veröffentlichung weist einen aktiven Status auf.
inactive
Die Veröffentlichung weist einen inaktiven Status auf.
sync_mode
native oder
bcp native
Massenkopierprogramm-Ausgabe aller Tabellen im systemeigenen Modus wird für Anfangssnapshot verwendet.
character
oder bcp character
Massenkopierprogramm-Ausgabe aller Tabellen im Zeichenmodus wird für Anfangssnapshot verwendet. Dies ist für alle Nicht-SQL Server-Abonnenten erforderlich.
use_partition_groups
HinweisWenn Sie nach der Verwendung von partition_groups erneut setupbelongs verwenden und use_partition_groups=false in changemergearticle festlegen, wird dies nach Aufnahme eines Snapshots unter Umständen nicht korrekt dargestellt. Die Trigger, die vom Snapshot generiert werden, sind mit Partitionsgruppen kompatibel. Sie können dieses Problem umgehen, indem Sie den Status auf Inaktiv festlegen, use_partition_groups ändern und den Status dann auf Aktiv festlegen.true
Die Veröffentlichung verwendet vorausberechnete Partitionen.
false
Die Veröffentlichung verwendet keine vorausberechneten Partitionen.
validate_subscriber_info
Listet die Funktionen auf, die zum Abrufen von Abonnenteninformationen verwendet werden. Überprüft anschließend die dynamischen Filterkriterien, die für den Abonnenten verwendet werden, um zu überprüfen, dass die Informationen konsistent partitioniert werden.
web_synchronization_url
Der Standardwert für die Internet-URL, die für die Websynchronisierung verwendet wird.
NULL (Standard)
Gibt die Liste unterstützter Werte für property zurück.
[ @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.Mit dem Wert 0 wird angegeben, dass der Snapshot nicht durch Änderungen an der Veröffentlichung ungültig werden kann. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen einen neuen Snapshot erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.
Mit dem Wert 1 wird angegeben, dass der Snapshot durch Änderungen an der Veröffentlichung ungültig werden kann. Wenn Abonnements vorhanden sind, die einen neuen Snapshot erfordern würden, 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, bei deren Änderung die Generierung eines neuen Snapshots erforderlich ist, finden Sie im Abschnitt mit 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.Mit dem Wert 0 wird angegeben, dass Abonnements nicht durch Änderungen an der Veröffentlichung erneut initialisiert werden müssen. Wenn die gespeicherte Prozedur erkennt, dass die Änderung die erneute Initialisierung von vorhandenen Abonnements erfordert, tritt ein Fehler auf und es werden keine Änderungen ausgeführt.
Der Wert 1 gibt an, dass Änderungen an der Veröffentlichung 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, bei deren Änderung die erneute Initialisierung aller vorhandenen Abonnements erforderlich ist, finden Sie im Abschnitt "Hinweise".
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_changemergepublication wird bei der Mergereplikation verwendet.
Das Ändern der folgenden Eigenschaften erfordert die Generierung eines neuen Snapshots. Sie müssen den Wert 1 für den force_invalidate_snapshot-Parameter angeben.
alt_snapshot_folder
compress_snapshot
dynamic_filters
ftp_address
ftp_login
ftp_password
ftp_port
ftp_subdirectory
post_snapshot_script
publication_compatibility_level (nur zu 80SP3)
pre_snapshot_script
snapshot_in_defaultfolder
sync_mode
use_partition_groups
Für das Ändern der folgenden Eigenschaften ist eine erneute Initialisierung von vorhandenen Abonnements erforderlich. Sie müssen den Wert 1 für den force_reinit_subscription-Parameter angeben.
dynamic_filters
validate_subscriber_info
Das SQL Server-Objekt muss bereits in Active Directory erstellt sein, um Veröffentlichungsobjekte mithilfe von publish_to_active_directory aufzulisten.
Beispiel
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
-- Disable DDL replication for the publication.
USE [AdventureWorks2008R2]
EXEC sp_changemergepublication
@publication = @publication,
@property = N'replicate_ddl',
@value = 0,
@force_invalidate_snapshot = 0,
@force_reinit_subscription = 0;
GO
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_changemergepublication ausführen.
Siehe auch