Freigeben über


sp_resyncmergesubscription (Transact-SQL)

Synchronisiert ein Mergeabonnement in einen bekannten Validierungsstatus 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. Die Momentaufnahme wird bei der erneuten Synchronisierung eines Abonnements mithilfe dieser Methode nicht erneut angewendet. Diese gespeicherte Prozedur wird nicht für Momentaufnahme- 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 Standardwert 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 Standardwert 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. publicationist 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
    Legt fest, wann die erneute Synchronisierung gestartet werden soll. resync_type ist vom Datentyp int. Die folgenden Werte sind möglich:

    Wert

    Beschreibung

    0

    Die Synchronisierung beginnt nach der Anfangsmomentaufnahme. Dies ist die ressourcenintensivste Option, da alle Änderungen seit der Anfangsmomentaufnahme 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
    Legt das Datum fest, an dem die erneute Synchronisierung gestartet werden 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 der Anfangsmomentaufnahme erneut anwendet, ist möglicherweise ressourcenintensiv, aber wahrscheinlich weniger ressourcenintensiv als eine vollständige erneute Initialisierung. 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 Anfangsmomentaufnahme 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 die gesamte 1-GB-Momentaufnahme erneut anzuwenden.

Berechtigungen

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

Siehe auch

Verweis

Gespeicherte Systemprozeduren (Transact-SQL)