sp_resyncmergesubscription (Transact-SQL)

Gilt für:SQL Server

Synchronisiert ein Mergeabonnement in einen bekannten Validierungsstatus neu, der von Ihnen angegeben wird. Sie können die Konvergenz erzwingen oder die Abonnementdatenbank zu einem bestimmten Zeitpunkt synchronisieren, z. B. das letzte Mal, wenn eine überprüfung erfolgreich war, oder mit einem bestimmten Datum. Die Momentaufnahme wird beim Erneuten Synchronisieren eines Abonnements mit dieser Methode nicht erneut angewendet. Diese gespeicherte Prozedur wird nicht für Momentaufnahme Replikationsabonnements oder Transaktionsreplikationsabonnements verwendet. Diese gespeicherte Prozedur wird beim Publisher, in der Publikationsdatenbank oder beim Abonnenten in der Abonnementdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_resyncmergesubscription
    [ [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    , [ @publication = ] N'publication'
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @subscriber_db = ] N'subscriber_db' ]
    , [ @resync_type = ] resync_type
    [ , [ @resync_date_str = ] N'resync_date_str' ]
[ ; ]

Argumente

[ @publisher = ] N'publisher'

Der Name des Herausgebers. @publisher ist "sysname" mit der Standardeinstellung "NULL. Ein Wert ist NULL gültig, wenn die gespeicherte Prozedur im Publisher ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Abonnenten ausgeführt wird, muss ein Verleger angegeben werden.

[ @publisher_db = ] N'publisher_db'

Der Name der Publikationsdatenbank. @publisher_db ist "sysname" mit der Standardeinstellung "NULL. Ein Wert ist NULL gültig, wenn die gespeicherte Prozedur im Publisher in der Publikationsdatenbank ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Abonnenten ausgeführt wird, muss ein Verleger angegeben werden.

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" ohne Standard.

[ @subscriber = ] N'subscriber'

Den Namen des Abonnenten. @subscriber ist "sysname" mit der Standardeinstellung "NULL. Ein Wert ist NULL gültig, wenn die gespeicherte Prozedur beim Abonnenten ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Verleger ausgeführt wird, muss ein Abonnent angegeben werden.

[ @subscriber_db = ] N'subscriber_db'

Der Name der Abonnementdatenbank. @subscriber_db ist "sysname" mit der Standardeinstellung "NULL. Ein Wert ist NULL gültig, wenn die gespeicherte Prozedur beim Abonnenten in der Abonnementdatenbank ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Verleger ausgeführt wird, muss ein Abonnent angegeben werden.

[ @resync_type = ] resync_type

Definiert, wann die Neusynchronisierung gestartet werden soll. @resync_type ist int und kann einer der folgenden Werte sein:

Wert Beschreibung
0 Die Synchronisierung beginnt nach der Anfangsmomentaufnahme. Diese Option ist die ressourcenintensivste, da alle Änderungen seit dem anfänglichen Momentaufnahme erneut auf den Abonnenten angewendet werden.
1 Die Synchronisierung beginnt bei der letzten erfolgreichen Überprüfung. Alle neuen oder unvollständigen Generierungen, die seit der letzten erfolgreichen Überprüfung durchgeführt wurden, werden erneut auf den Abonnenten angewendet.
2 Die Synchronisierung beginnt mit dem in resync_date_str angegebenen Datum. Alle neuen oder unvollständigen Generierungen, die seit diesem Datum durchgeführt wurden, werden erneut auf den Abonnenten angewendet.

[ @resync_date_str = ] N'resync_date_str'

Legt das Datum fest, an dem die erneute Synchronisierung gestartet werden soll. @resync_date_str ist nvarchar(30), mit einem Standardwert von NULL. Dieser Parameter wird verwendet, wenn die @resync_type ein Wert von 2. Das angegebene Datum wird in den entsprechenden Datetime-Wert konvertiert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Hinweise

sp_resyncmergesubscription wird in der Seriendruckreplikation verwendet.

Ein Wert 0 für den @resync_type-Parameter, der alle Änderungen seit dem anfänglichen Momentaufnahme erneut anwendet, kann ressourcenintensiv sein, aber möglicherweise viel kleiner als eine vollständige Neuinitialisierung. Wenn z. B. die Anfangsmomentaufnahme vor einem Monat erstellt wurde, dann führt dieser Wert dazu, dass die Daten des letzten Monats erneut angewendet werden. Wenn die anfängliche Momentaufnahme 1 GIGABYTE (GB) von Daten enthielten, aber die Anzahl der Änderungen aus dem letzten Monat aus 2 MEGABYTE (MB) geänderter Daten bestand, wäre es effizienter, die Daten erneut zu verwenden, als die vollständigen 1-GB-Momentaufnahme erneut zu verwenden.

Berechtigungen

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