Synchronisieren von DatenSynchronize Data

Das Synchronisieren von Daten bezieht sich auf den Prozess des Weitergebens von Daten- und Schemaänderungen zwischen dem Verleger und Abonnenten, nachdem die Anfangsmomentaufnahme auf dem Abonnenten angewendet wurde.Synchronizing data refers to the process of data and schema changes being propagated between the Publisher and Subscribers after the initial snapshot has been applied at the Subscriber. Die Synchronisierung kann auf verschiedene Weise ausgeführt werden:Synchronization can occur:

  • Fortlaufend, was typisch für die Transaktionsreplikation ist.Continuously, which is typical for transactional replication.

  • Bedarfsgesteuert, was typisch für die Mergereplikation ist.On demand, which is typical for merge replication.

  • Nach einem Zeitplan, was typisch für die Momentaufnahmereplikation ist.On a schedule, which is typical for snapshot replication.

    Wenn ein Abonnement synchronisiert wird, werden basierend auf dem verwendeten Replikationstyp verschiedene Prozesse ausgeführt:When a subscription is synchronized, different processes occur based on the type of replication you are using:

  • Momentaufnahmereplikation.Snapshot replication. Synchronisieren bedeutet, dass der Verteilungs-Agent die Momentaufnahme erneut auf dem Abonnenten anwendet, sodass Schema und Daten in der Abonnementdatenbank mit der Veröffentlichungsdatenbank übereinstimmen.Synchronization means that the Distribution Agent reapplies the snapshot at the Subscriber so that schema and data at the subscription database is consistent with the publication database.

    Wenn Änderungen an den Daten oder dem Schema auf dem Verleger vorgenommen wurden, muss für die Weitergabe der Änderungen an den Abonnenten eine neue Momentaufnahme generiert werden.If modifications to data or schema have been made at the Publisher, a new snapshot must be generated in order to propagate modifications to the Subscriber.

  • Transaktionsreplikation.Transactional replication. Synchronisieren bedeutet, dass der Verteilungs-Agent Updates, Einfügungen, Löschungen und andere Änderungen von der Verteilungsdatenbank auf den Abonnenten überträgt.Synchronization means that the Distribution Agent transfers updates, inserts, deletes, and any other changes from the distribution database to the Subscriber.

  • Mergereplikation.Merge replication. Synchronisieren bedeutet, dass der Merge-Agent Änderungen vom Abonnenten auf den Verleger hochlädt und dann die Änderungen vom Verleger auf den Abonnenten herunterlädt.Synchronization means that the Merge Agent uploads changes from the Subscriber to the Publisher and then downloads changes from the Publisher to the Subscriber. Eventuelle Konflikte werden erkannt und gelöst.Conflicts, if any, are detected and resolved. Die Daten werden konvergiert, sodass der Verleger und die Abonnenten schließlich die gleichen Datenwerte aufweisen.Data is converged, and the Publisher and all Subscribers eventually end up with the same data values. Wenn Konflikte erkannt und gelöst wurden, bedeutet das, dass Arbeiten, die einige der Benutzer ausgeführt haben, so geändert worden sind, dass der Konflikt entsprechend der von Ihnen definierten Richtlinien gelöst wurde.If conflicts were detected and resolved, work that was committed by some of the users is changed to resolve the conflict according to policies you define.

    Durch Momentaufnahmeveröffentlichungen wird das Schema auf dem Abonnenten bei jeder Synchronisierung vollständig aktualisiert, sodass alle Schemaänderungen auf den Abonnenten angewendet werden.Snapshot publications completely refresh the schema at the Subscriber every time synchronization occurs, so all schema changes are applied to the Subscriber. Auch die Transaktions- und die Mergereplikation unterstützen die häufigsten Schemaänderungen.Transactional replication and merge replication also support the most common schema changes. Weitere Informationen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.For more information, see Make Schema Changes on Publication Databases.

    Informationen zum Synchronisieren eines Pushabonnements finden Sie unter Synchronize a Push Subscription.To synchronize a push subscription, see Synchronize a Push Subscription.

    Informationen zum Synchronisieren eines Pullabonnements finden Sie unter Synchronize a Pull Subscription.To synchronize a pull subscription, see Synchronize a Pull Subscription.

    Informationen zum Festlegen von Synchronisierungszeitplänen finden Sie unter Specify Synchronization Schedules.To set synchronization schedules, see Specify Synchronization Schedules.

    So zeigen Sie Synchronisierungskonflikte an und lösen Sie die KonflikteTo view and resolve synchronization conflicts

  • SQL Server Management StudioSQL Server Management Studio: [Anzeigen und Lösen von Datenkonflikten für Mergeveröffentlichungen (SQL Server Management Studio)](../../relational-databases/replication/view-and-resolve-data-conflicts-for-merge-publications.md)(../../relational-databases/replication/view-and-resolve-data-conflicts-for-merge-publications.md)

  • SQL Server Management StudioSQL Server Management Studio: [Anzeigen von Datenkonflikten für Transaktionsveröffentlichungen (SQL Server Management Studio)](../../relational-databases/replication/view-data-conflicts-for-transactional-publications-sql-server-management-studio.md)(../../relational-databases/replication/view-data-conflicts-for-transactional-publications-sql-server-management-studio.md)

Ausführen von Code während der SynchronisierungExecuting Code During Synchronization

Die Replikation unterstützt zwei Methoden zum Ausführen von Code während der Synchronisierung.Replication supports two methods of executing code during synchronization

  • Das bedarfsgesteuerte Ausführen von Skripts wird für die Transaktions- und die Mergereplikation unterstützt.On demand script execution is supported for transactional replication and merge replication. Beim bedarfsgesteuerten Ausführen von Skripts können Sie angeben, dass ein SQL-Skript während der Synchronisierung ausgeführt wird.Using on demand script execution you can specify a SQL script to run during synchronization. Das Skript wird auf den Abonnenten kopiert und mithilfe von sqlcmd am Anfang des Synchronisierungsvorgangs ausgeführt.The script is copied to the Subscriber and executed using sqlcmd at the beginning of the synchronization process. Das Skript hat keinen Zugriff auf die replizierten Änderungen, wenn diese auf den Abonnenten angewendet werden.The script does not have access to the replicated changes as they are applied to the Subscriber. Weitere Informationen finden Sie unter Ausführen von Skripts während der Synchronisierung (Replikationsprogrammierung mit Transact-SQL).For more information, see Execute Scripts During Synchronization (Replication Transact-SQL Programming).

  • Geschäftslogikhandler werden für die Mergereplikation unterstützt.Business logic handlers are supported for merge replication. Das Geschäftslogikhandler-Framework ermöglicht es Ihnen, eine verwaltete Codeassembly zu schreiben, die während der Mergesynchronisierung aufgerufen wird.Using the business logic handler framework you can write a managed code assembly that is called during the merge synchronization process. Die Assembly enthält Geschäftslogik, die auf viele Bedingungen während der Synchronisierung reagieren kann: Datenänderungen, Konflikte und Fehler.The assembly includes business logic that can respond to a number of conditions during synchronization: data changes, conflicts, and errors. Weitere Informationen finden Sie unter Ausführen von Geschäftslogik während der Mergesynchronisierung.For more information, see Execute Business Logic During Merge Synchronization.

Siehe auchSee Also

Erkennen und Auflösen von Konflikten bei der MergereplikationDetect and Resolve Merge Replication Conflicts