sp_changemergepublication (Transact-SQL)
Gilt für: SQL Server
Ändert die Eigenschaften einer Mergeveröffentlichung. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.
Transact-SQL-Syntaxkonventionen
Syntax
sp_changemergepublication
[ @publication = ] N'publication'
[ , [ @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 Veröffentlichung. @publication ist "sysname" ohne Standard.
[ @property = ] N'property'
Die Eigenschaft, die für die angegebene Veröffentlichung geändert werden soll. @property ist "sysname" und kann einer der folgenden Werte in der folgenden Tabelle sein.
[ @value = ] N'value'
Der neue Wert für die angegebene Eigenschaft. @value ist nvarchar(255), mit einem Standardwert von NULL
.
, und kann einer der folgenden Werte in der folgenden Tabelle aufgeführt sein.
Diese Tabelle beschreibt die Eigenschaften der Publikation, die geändert werden können, und beschreibt Einschränkungen für die Werte für diese 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 die Standardeinstellung. |
false |
Daten aus einer alten Partition verbleiben im Abonnenten, bei denen Änderungen, die an diesen Daten in Publisher vorgenommen wurden, nicht in diesen Abonnenten repliziert werden. 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 Publikation nicht zulässig. | |
allow_push |
true |
Pushabonnements sind für die angegebene Veröffentlichung zulässig. |
false |
Pushabonnements sind für die angegebene Publikation nicht zulässig. | |
allow_subscriber_initiated_snapshot |
true |
Der Abonnent kann den Momentaufnahmeprozess initiieren. |
false |
Abonnent kann den Momentaufnahmevorgang 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 Publikation abonnieren, nicht kopieren. | |
allow_synctoalternate |
true |
Lässt einen alternativen Synchronisierungspartner für die Synchronisierung mit diesem Verleger zu. |
false |
Es ist nicht zulässig, dass ein alternativer Synchronisierungspartner mit diesem Publisher synchronisiert wird. | |
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 die Momentaufnahme 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 |
Die Momentaufnahme in einem alternativen Momentaufnahmeordner wird in das CAB-Format komprimiert. Die Momentaufnahme im Standardmomentaufnahmeordner kann nicht komprimiert werden. Für das Ändern dieser Eigenschaft ist eine neue Momentaufnahme erforderlich. |
false |
Standardmäßig wird die Momentaufnahme nicht komprimiert. Für das Ändern dieser Eigenschaft ist eine neue Momentaufnahme 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. Wird für SQL Server Compact-Abonnenten nicht unterstützt. | |
both |
Die Konfliktdatensätze werden auf dem Verleger und auf dem Abonnenten gespeichert. | |
conflict_retention |
Ein Int , das den Aufbewahrungszeitraum in Tagen angibt, für den Konflikte aufbewahrt werden. Die Einstellung conflict_retention bedeutet, 0 dass keine Konfliktbereinigung erforderlich ist. |
|
description |
Beschreibung der Publikation. | |
dynamic_filters |
true |
Die Veröffentlichung wird anhand einer dynamischen Klausel gefiltert. |
false |
Die Publikation 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 Momentaufnahmedateien an einen Abonnenten zu übertragen. Die Synchronisierungsdateien für die Publikation werden in das C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp Verzeichnis eingefügt. |
false |
Die Publikation ist für das Internet nicht aktiviert. | |
ftp_address |
Die Netzwerkadresse des FTP-Diensts für den Distributor. Gibt an, wo die Momentaufnahmedateien für die Veröffentlichung gespeichert werden. | |
ftp_login |
Der Benutzername, der zum Herstellen einer Verbindung mit dem FTP-Dienst verwendet wird. | |
ftp_password |
Das Benutzerkennwort, das zum Herstellen einer Verbindung mit dem FTP-Dienst verwendet wird. | |
ftp_port |
Die Portnummer des FTP-Diensts für den Distributor. Gibt die TCP-Anschlussnummer der FTP-Site an, in der die Momentaufnahmedateien für die Veröffentlichung gespeichert werden. | |
ftp_subdirectory |
Gibt an, wo die Momentaufnahmedateien erstellt werden, wenn die Veröffentlichung das Verteilen von Momentaufnahmen mithilfe von FTP unterstützt. | |
generation_leveling_threshold |
int | Gibt die Anzahl der Änderungen an, die in einer Generation enthalten sind. Eine Generierung ist eine Auflistung von Änderungen, die an einen Verleger oder Abonnenten übermittelt werden. |
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 eine neue Momentaufnahme erforderlich. |
false |
Die Synchronisierung ist nicht optimiert, und die Partitionen, die an Abonnenten gesendet werden, werden überprüft, wenn Daten in einer Partition geändert werden. Für das Ändern dieser Eigenschaft ist eine neue Momentaufnahme erforderlich. | |
max_concurrent_merge |
Ein Int , das die maximale Anzahl gleichzeitiger Zusammenführungsprozesse darstellt, die für eine Publikation ausgeführt werden können. Wenn 0, gibt es kein Limit. Wenn mehr als diese Anzahl von Zusammenführungsprozessen gleichzeitig ausgeführt werden soll, werden die überzähligen Aufträge in eine Warteschlange gesetzt, bis ein aktueller Prozess abgeschlossen ist. | |
max_concurrent_dynamic_snapshots |
Ein Int , das die maximale Anzahl von Momentaufnahmesitzungen darstellt, um eine gefilterte Datenmomentaufnahme zu generieren, die gleichzeitig für eine Zusammenführungsveröffentlichung ausgeführt werden kann, die parametrisierte Zeilenfilter verwendet. Wenn 0 , gibt es keine Beschränkung. Wenn die gleichzeitige Ausführung von mehr Momentaufnahmeprozessen 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 .sql Dateispeicherort 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 eine neue Momentaufnahme erforderlich. |
|
pre_snapshot_script |
Gibt einen Zeiger auf einen .sql Dateispeicherort an. Der Merge-Agent führt das vor der Momentaufnahme ausgeführte Skript vor allen Skripts für replizierte Objekte aus, wenn die Momentaufnahme auf einem Abonnenten angewendet wird. Für das Ändern dieser Eigenschaft ist eine neue Momentaufnahme erforderlich. |
|
publication_compatibility_level |
100RTM |
SQL Server 2008 (10.0.x) |
90RTM |
SQL Server 2005 (9.x) | |
publish_to_activedirectory |
true |
Dieser Parameter ist veraltet und wird für die Abwärtskompatibilität von Skripts beibehalten. Sie können Active Directory nicht länger Veröffentlichungsinformationen hinzufügen. |
false |
Entfernt die Veröffentlichungsinformationen aus Active Directory. | |
replicate_ddl |
1 |
DDL-Anweisungen (Data Definition Language), die in Publisher ausgeführt werden, werden repliziert. |
0 |
DDL-Anweisungen werden nicht repliziert. | |
retention |
Ein Int , der die Anzahl der retention_period_unit Einheiten darstellt, für die Änderungen für die angegebene Publikation gespeichert werden sollen. Wenn das Abonnement nicht innerhalb des Aufbewahrungszeitraums synchronisiert wird und die ausstehenden Änderungen, die es erhalten hat, durch einen Bereinigungsvorgang beim Distributor 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.Hinweis: Der Aufbewahrungszeitraum für Seriendruckpublikationen hat eine 24-Stunden-Nachfrist, um Abonnenten in verschiedenen Zeitzonen zu berücksichtigen. |
|
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 |
Momentaufnahmedateien werden im Standardmomentaufnahmeordner gespeichert. |
false |
Momentaufnahmendateien werden an dem alternativen Speicherort gespeichert, der von alt_snapshot_folder . Diese Kombination gibt an, dass die Momentaufnahmedateien sowohl im Standardspeicherort als auch in alternativen Speicherorten gespeichert werden. |
|
snapshot_ready |
true |
Die Momentaufnahme für die Veröffentlichung ist verfügbar. |
false |
Momentaufnahme für die Publikation 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 oderbcp native |
Massenkopierprogramm-Ausgabe aller Tabellen im einheitlichen Modus wird für die Anfangsmomentaufnahme verwendet. |
character oder bcp character |
Die Programmausgabe im Massenkopiemodus aller Tabellen wird für die anfängliche Momentaufnahme verwendet, die für alle Nicht-SQL Server-Abonnenten erforderlich ist. | |
use_partition_groups Hinweis: Nach der Verwendung von Partitionsgruppen, wenn Sie auf die Verwendung setupbelongs zurücksetzen und in changemergearticle festgelegt use_partition_groups=false sind, wird dies möglicherweise nach dem Erstellen einer Momentaufnahme nicht ordnungsgemäß wiedergegeben. Die von snapshot generierten Trigger sind mit Partitionsgruppen kompatibel.Die Problemumgehung für dieses Szenario besteht darin, den Status auf "Inaktiv" festzulegen, den use_partition_groups Status zu ändern und dann den Status auf "Aktiv" festzulegen. |
true |
Die Veröffentlichung verwendet vorausberechnete Partitionen. |
false |
Die Publikation verwendet keine vorkompilierten Partitionen. | |
validate_subscriber_info |
Listet die Funktionen auf, die zum Abrufen von Abonnenteninformationen verwendet werden. Überprüft dann die dynamischen Filterkriterien, die für den Abonnenten verwendet werden, um sicherzustellen, 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 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 das Ändern der Publikation die Momentaufnahme nicht ungültig macht. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen eine neue Momentaufnahme erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.1
Gibt an, dass das Ändern der Publikation die Momentaufnahme möglicherweise ungültig macht. Wenn vorhandene Abonnements vorhanden sind, für die eine neue Momentaufnahme erforderlich ist, erteilen Sie die Berechtigung, dass die vorhandene Momentaufnahme als veraltet gekennzeichnet wird und dass eine neue Momentaufnahme generiert werden soll.
Im Abschnitt "Hinweise" finden Sie die Eigenschaften, für die beim Ändern eine neue Momentaufnahme generiert werden muss.
[ @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 das Ändern der Publikation nicht erfordert, dass Abonnements erneut initialisiert werden. Wenn die gespeicherte Prozedur erkennt, dass die Änderung vorhandene Abonnements erneut initialisiert werden muss, tritt ein Fehler auf, und es werden keine Änderungen vorgenommen.1
bedeutet, dass Änderungen an der Publikation vorhandene Abonnements neu initialisieren und die Berechtigung zum Erneutitialisieren des Abonnements erteilen.
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_changemergepublication
wird in der Seriendruckreplikation verwendet.
Das Ändern der folgenden Eigenschaften erfordert, dass eine neue Momentaufnahme generiert wird. Sie müssen einen 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 zu80SP3
)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 einen Wert 1
für den parameter @force_reinit_subscription angeben.
dynamic_filters
validate_subscriber_info
Zum Auflisten von Publikationsobjekten in Active Directory mithilfe publish_to_active_directory
von Active Directory muss das SQL Server-Objekt bereits in Active Directory erstellt werden.
Beispiele
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
-- Disable DDL replication for the publication.
USE [AdventureWorks2022]
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 db_owner feste Datenbankrolle können ausgeführt werden sp_changemergepublication
.