Synchronisieren von Daten
Das Synchronisieren von Daten bezieht sich auf den Prozess des Weitergebens von Daten- und Schemaänderungen zwischen dem Verleger und Abonnenten, nachdem der Anfangssnapshot auf dem Abonnenten angewendet wurde. Die Synchronisierung kann auf verschiedene Weise ausgeführt werden:
Fortlaufend, was typisch für die Transaktionsreplikation ist.
Bedarfsgesteuert, was typisch für die Mergereplikation ist.
Nach einem Zeitplan, was typisch für die Snapshotreplikation ist.
Wenn ein Abonnement synchronisiert wird, werden basierend auf dem verwendeten Replikationstyp verschiedene Prozesse ausgeführt:
Snapshotreplikation. Synchronisieren bedeutet, dass der Verteilungs-Agent den Snapshot erneut auf dem Abonnenten anwendet, sodass Schema und Daten in der Abonnementdatenbank mit der Veröffentlichungsdatenbank übereinstimmen.
Wenn Änderungen an den Daten oder dem Schema auf dem Verleger vorgenommen wurden, muss für die Weitergabe der Änderungen an den Abonnenten ein neuer Snapshot generiert werden.
Transaktionsreplikation. Synchronisieren bedeutet, dass der Verteilungs-Agent Updates, Einfügungen, Löschungen und andere Änderungen von der Verteilungsdatenbank auf den Abonnenten überträgt.
Mergereplikation. 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. Eventuelle Konflikte werden erkannt und gelöst. Die Daten werden konvergiert, sodass der Verleger und die Abonnenten schließlich die gleichen Datenwerte aufweisen. 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.
Durch Snapshotveröffentlichungen wird das Schema auf dem Abonnenten bei jeder Synchronisierung vollständig aktualisiert, sodass alle Schemaänderungen auf den Abonnenten angewendet werden. Auch die Transaktions- und die Mergereplikation unterstützen die häufigsten Schemaänderungen. Weitere Informationen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.
So synchronisieren Sie ein Pushabonnement
SQL Server Management Studio: Vorgehensweise: Synchronisieren eines Pushabonnements (SQL Server Management Studio)
Programmierung von Replikations-Agents: Vorgehensweise: Synchronisieren eines Pushabonnements (Replikationsprogrammierung)
Programmierung mit Replikationsverwaltungsobjekten (RMO): Vorgehensweise: Synchronisieren eines Pushabonnements (RMO-Programmierung)
So synchronisieren Sie ein Pullabonnement
SQL Server Management Studio: Vorgehensweise: Synchronisieren eines Pullabonnements (SQL Server Management Studio)
Programmierung von Replikations-Agents: Vorgehensweise: Synchronisieren eines Pullabonnements (Replikationsprogrammierung)
Programmierung mit Replikationsverwaltungsobjekten (RMO): Vorgehensweise: Synchronisieren eines Pullabonnements (RMO-Programmierung)
So legen Sie Synchronisierungszeitpläne fest
SQL Server Management Studio: Vorgehensweise: Angeben von Synchronisierungszeitplänen (SQL Server Management Studio)
Replikationsprogrammierung mit Transact-SQL: Vorgehensweise: Synchronisierungszeitpläne (Replikationsprogrammierung mit Transact-SQL)
Programmierung mit Replikationsverwaltungsobjekten (RMO): Vorgehensweise: Synchronisierungszeitpläne (RMO-Programmierung)
So zeigen Sie Synchronisierungskonflikte an und lösen Sie die Konflikte
SQL Server Management Studio: Vorgehensweise: Anzeigen und Lösen von Datenkonflikten für Mergeveröffentlichungen (SQL Server Management Studio)
SQL Server Management Studio: Vorgehensweise: Anzeigen von Datenkonflikten für Transaktionsveröffentlichungen (SQL Server Management Studio)
Ausführen von Code während der Synchronisierung
Die Replikation unterstützt zwei Methoden zum Ausführen von Code während der Synchronisierung.
Das bedarfsgesteuerte Ausführen von Skripts wird für die Transaktions- und die Mergereplikation unterstützt. Beim bedarfsgesteuerten Ausführen von Skripts können Sie angeben, dass ein SQL-Skript während der Synchronisierung ausgeführt wird. Das Skript wird auf den Abonnenten kopiert und mithilfe von sqlcmd am Anfang des Synchronisierungsvorgangs ausgeführt. Das Skript hat keinen Zugriff auf die replizierten Änderungen, wenn diese auf den Abonnenten angewendet werden. Weitere Informationen finden Sie unter Vorgehensweise: Ausführen von Skripts während der Synchronisierung (Replikationsprogrammierung mit Transact-SQL).
Geschäftslogikhandler werden für die Mergereplikation unterstützt. Das Geschäftslogikhandler-Framework ermöglicht es Ihnen, eine verwaltete Codeassembly zu schreiben, die während der Mergesynchronisierung aufgerufen wird. Die Assembly enthält Geschäftslogik, die auf viele Bedingungen während der Synchronisierung reagieren kann: Datenänderungen, Konflikte und Fehler. Weitere Informationen finden Sie unter Ausführen der Geschäftslogik während der Mergesynchronisierung.
Siehe auch