Freigeben über


sp_resyncmergesubscription (Transact-SQL)

Synchronisiert ein Mergeabonnement in einen bekannten Überprüfungsstatus neu, der von Ihnen angegeben wird. Dies ermöglicht es Ihnen, die Konvergenz zu erzwingen oder die Abonnementdatenbank mit der Version eines bestimmten Zeitpunkts zu synchronisieren. Dabei kann es sich z. B. um die letzte erfolgreiche Überprüfung oder um ein angegebenes Datum handeln. Der Snapshot wird bei der erneuten Synchronisierung eines Abonnements mithilfe dieser Methode nicht erneut angewendet. Diese gespeicherte Prozedur wird nicht für Snapshot- oder Transaktionsreplikationsabonnements verwendet. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank oder auf dem Abonnenten für die Abonnementdatenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @publisher= ] 'publisher'
    Der Name des Verlegers. publisher ist vom Datentyp sysname; der Standard ist NULL. Der Wert NULL ist zulässig, wenn die gespeicherte Prozedur auf dem Verleger ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Abonnenten ausgeführt wird, muss ein Verleger angegeben werden.

  • [ @publisher_db = ] 'publisher_db'
    Der Name der Veröffentlichungsdatenbank. publisher_db ist vom Datentyp sysname; der Standard ist NULL. Der Wert NULL ist zulässig, wenn die gespeicherte Prozedur auf dem Verleger in der Veröffentlichungsdatenbank ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Abonnenten ausgeführt wird, muss ein Verleger angegeben werden.

  • [ @publication= ] 'publication'
    Der Name der Veröffentlichung. publication ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @subscriber = ] 'subscriber'
    Der Name des Abonnenten. subscriber ist vom Datentyp sysname, der Standardwert ist NULL. Der Wert NULL ist zulässig, wenn die gespeicherte Prozedur auf dem Abonnenten ausgeführt wird. Wenn die gespeicherte Prozedur auf dem Verleger ausgeführt wird, muss ein Abonnent angegeben werden.

  • [ @subscriber_db = ] 'subscriber_db'
    Der Name der Abonnementdatenbank. subscription_db ist vom Datentyp sysname, der Standardwert ist NULL. Der Wert NULL ist zulässig, wenn die gespeicherte Prozedur auf dem 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 erneute Synchronisierung beginnen soll. resync_type ist vom Datentyp int. Die folgenden Werte sind möglich:

    Wert

    Beschreibung

    0

    Die Synchronisierung beginnt nach dem Anfangssnapshot. Dies ist die ressourcenintensivste Option, da alle Änderungen seit dem Anfangssnapshot auf den Abonnenten erneut 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 an 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=] resync_date_string
    Definiert das Datum, an dem die erneute Synchronisierung beginnen soll. resync_date_string ist vom Datentyp nvarchar(30) und hat den Standardwert NULL. Dieser Parameter wird verwendet, wenn resync_type den Wert 2 aufweist. Das angegebene Datum wird in den äquivalenten datetime-Wert konvertiert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_resyncmergesubscription wird für die Mergereplikation verwendet.

Der Wert 0 für den resync_type-Parameter, der alle Änderungen seit dem Anfangssnapshot erneut anwendet, ist möglicherweise ressourcenintensiv, aber wahrscheinlich weniger ressourcenintensiv als eine vollständige erneute Initialisierung. Wenn z. B. der Anfangssnapshot vor einem Monat erstellt wurde, dann führt dieser Wert dazu, dass die Daten des letzten Monats erneut angewendet werden. Wenn der Anfangssnapshot 1 Gigabyte (GB) an Daten umfasst, der Umfang der Änderungen des letzten Monats jedoch nur 2 Megabyte (MB), dann ist es effizienter, die Daten und nicht den gesamten 1-GB-Snapshot erneut anzuwenden.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_resyncmergesubscription ausführen.