Freigeben über


Synchronisieren von Daten

Die Synchronisierung von Daten bezieht sich auf den Prozess von Daten und Schemaänderungen, die zwischen Publisher und Abonnenten weitergegeben werden, nachdem die anfängliche Momentaufnahme beim Abonnenten angewendet wurde. Die Synchronisierung kann auftreten:

  • Kontinuierlich, was typisch für die Transaktionsreplikation ist.

  • Bei Bedarf, was für die Zusammenführungsreplikation typisch ist.

  • In einem Zeitplan, der typisch für die Snapshotreplikation ist.

Wenn ein Abonnement synchronisiert wird, treten unterschiedliche Prozesse basierend auf dem Typ der replikation auf, die Sie verwenden:

  • Snapshot-Replikation. Die Synchronisierung bedeutet, dass der Verteilungs-Agent die Momentaufnahme beim Abonnenten erneut anwendet, sodass Schema und Daten in der Abonnementdatenbank mit der Publikationsdatenbank konsistent sind.

    Wenn Änderungen an Daten oder am Schema beim Publisher vorgenommen wurden, muss ein neuer Schnappschuss generiert werden, um die Änderungen zu den Abonnenten zu verbreiten.

  • Transaktionsreplikation. Die Synchronisierung bedeutet, dass der Verteiler-Agent Updates überträgt, einfügt, löscht und andere Änderungen aus der Verteilungsdatenbank an den Abonnenten weitergibt.

  • Zusammenführung von Replikationen. Die Synchronisierung bedeutet, dass der Zusammenführungs-Agent Änderungen vom Abonnenten in den Publisher hochlädt und dann Änderungen von Publisher in den Abonnenten herunterlädt. Konflikte, falls vorhanden, werden erkannt und aufgelöst. Daten werden zusammengeführt, und der Herausgeber und alle Abonnenten enden schließlich mit denselben Datenwerten. Wenn Konflikte erkannt und aufgelöst wurden, wird die von einigen Benutzern begangene Arbeit geändert, um den Konflikt gemäß den von Ihnen definierten Richtlinien aufzulösen.

Snapshotpublikationen aktualisieren das Schema beim Abonnenten bei jeder Synchronisierung vollständig, sodass alle Schemaänderungen auf den Abonnenten angewendet werden. Die Transaktionsreplikation und die Zusammenführungsreplikation unterstützen auch die am häufigsten verwendeten Schemaänderungen. Weitere Informationen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.

Informationen zum Synchronisieren eines Pushabonnements finden Sie unter Synchronisieren eines Pushabonnements.

Informationen zum Synchronisieren eines Pullabonnements finden Sie unter "Synchronisieren eines Pullabonnements".

Informationen zum Festlegen von Synchronisierungszeitplänen finden Sie unter "Synchronisierungszeitpläne angeben".

So zeigen Sie Synchronisierungskonflikte an und lösen sie

Ausführen von Code während der Synchronisierung

Replikation unterstützt zwei Methoden zum Ausführen von Code während der Synchronisierung

  • Auf Abruf wird die Skriptausführung für die Transaktionsreplikation und die Zusammenführungsreplikation unterstützt. Mithilfe der Ausführung von On Demand-Skripts können Sie ein SQL-Skript angeben, das während der Synchronisierung ausgeführt werden soll. Das Skript wird an den Abonnenten kopiert und mit sqlcmd am Anfang des Synchronisierungsprozesses ausgeführt. Das Skript hat keinen Zugriff auf die replizierten Änderungen, da sie auf den Abonnenten angewendet werden. Weitere Informationen finden Sie unter Ausführen von Skripts während der Synchronisierung (Replikation Transact-SQL Programmierung).

  • Geschäftslogikhandler werden für die Zusammenführungsreplikation unterstützt. Mithilfe des Geschäftslogikhandlerframeworks können Sie eine Assembly mit verwaltetem Code schreiben, die während des Zusammenführungssynchronisierungsprozesses aufgerufen wird. Die Assembly enthält Geschäftslogik, die während der Synchronisierung auf eine Reihe von Bedingungen reagieren kann: Datenänderungen, Konflikte und Fehler. Weitere Informationen finden Sie unter Ausführen der Geschäftslogik während der Zusammenführungssynchronisierung.

Siehe auch

Erkennen und Beheben von Zusammenführungsreplikationskonflikten