Freigeben über


Funktionsweise der Replikation

Die Mergereplikation mit Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) wird folgendermaßen ausgeführt:

  1. Daten werden auf einem Computer mit SQL Server veröffentlicht.
  2. Abonnements für die Publikationen werden erstellt.
  3. Daten auf dem Abonnenten werden aktualisiert.
  4. Daten werden synchronisiert.

Die folgende Tabelle definiert einige der in diesem Abschnitt verwendeten Begriffe.

Begriff Definition

Artikel

Eine Datenbanktabelle, die für die Replikation aktiviert ist.

Publikation

Eine Auflistung von Artikeln.

Partition

Ein bestimmter Zeilen- oder Spaltensatz in einer Publikation.

Verleger

Eine Datenbank, die eine Publikation durch Replikation verfügbar macht.

Abonnent

Eine Datenbank, die replizierte Daten empfängt und Datenänderungen an den Verleger zurückgeben kann.

Abonnement

Eine Anforderung, eine Kopie der Publikation an den Abonnenten zu übermitteln.

Abonnementdatenbank

Eine Datenbank, die von einem Verleger veröffentlichte Artikel empfängt.

Veröffentlichen von Daten

Publikationen geben an, welche Daten veröffentlicht werden. Publikationen sind normalerweise an verschiedene Benutzer oder Gruppen von Benutzern angepasst. Es kann vorkommen, dass alle Benutzer die gleichen Daten benötigen. Beispielsweise benötigt möglicherweise jeder Mitarbeiter eine Kopie des Mitarbeiterverzeichnisses des Unternehmens. In anderen Fällen benötigen unterschiedliche Gruppen verschiedene Partitionen von Daten. Verkaufsmitarbeiter brauchen beispielsweise einen anderen Datensatz als Kundendiensttechniker. Einzelne Benutzer benötigen möglicherweise auch speziell für sie gefilterte Daten. Das Personal der Verkaufsabteilung braucht zum Beispiel möglicherweise nur die Daten für die eigenen Kundenkonten.

Wenn Sie die Publikation erstellen, geben Sie an, welche Artikel sie enthalten soll. SQL Server-Publikationen können zwar andere Datenbankobjekte enthalten, z. B. gespeicherte Prozeduren, Sichten und benutzerdefinierte Funktionen, die SQL Server Compact Edition-Replikation ignoriert diese Objekte jedoch und schließt nur Tabellen in das SQL Server Compact Edition-Abonnement ein. Durch Filtern können Sie angeben, welche Zeilen und Spalten im Artikel enthalten sein sollen. Weitere Informationen finden Sie unter "Replikation" in der SQL Server-Onlinedokumentation.

Abonnieren von Publikationen

Nachdem Sie die Publikation definiert haben, kann sie von einer Anwendung abonniert werden. Dies erfolgt programmgesteuert auf dem Gerät, durch Aufrufen der vom Replication-Objekt von SQL Server Compact Edition bzw. der SqlCeReplication-Klasse offen gelegten Methoden oder mithilfe des Assistenten für neue Abonnements in SQL Server Management Studio. Wenn das Abonnement erstellt ist, wird der Anfangssnapshot vom Verteiler in der Abonnementdatenbank auf dem Abonnenten angewendet.

Aktualisieren von Daten auf dem Abonnenten

Die Anwendung aktualisiert wahrscheinlich die Abonnementdatenbank. Mergereplikation ermöglicht das autonome Aktualisieren jeder Abonnementdatenbank. Aktualisierungen können unabhängig davon stattfinden, ob das Gerät mit dem Netzwerk verbunden ist. Jede SQL Server Compact Edition-Datenbank verwendet Änderungsnachverfolgung, um auf dem SQL Server Compact Edition-Abonnenten ausgeführte INSERT-, UPDATE- und DELETE-Anweisungen zu verfolgen. Es kann sowohl Nachverfolgung auf Zeilenebene als auch Nachverfolgung auf Spaltenebene verwendet werden.

Wichtig   Nachverfolgung auf Spaltenebene wird nur beim Synchronisieren mit einem SQL Server 2005-Verleger unterstützt. Bei der Replikation mit SQL Server 2000 wird nur die Nachverfolgung auf Zeilenebene unterstützt.

Synchronisieren von Daten

Normalerweise verbinden Benutzer das Gerät periodisch mit dem Netzwerk. Diese Verbindungen ermöglichen es der Anwendung, auf dem Abonnenten vorgenommene Änderungen mit auf dem Verleger vorgenommenen Änderungen zu synchronisieren. Die Synchronisierung wird von der Anwendung durch Aufrufen einer Synchronisierungsmethoden gestartet. Die Methoden werden vom Replication-Objekt oder von der SqlCeReplication-Klasse offen gelegt. Der Synchronisierungsprozess besteht aus vier Schritten.

  1. Extrahieren von Änderungen und Erstellen der Eingabenachrichtendatei.
    Der Client-Agent für SQL Server Compact Edition extrahiert alle eingefügten, aktualisierten und gelöschten Datensätze aus der Abonnementdatenbank auf dem SQL Server Compact Edition-Abonnenten und gibt sie über HTTP an den Server-Agent für SQL Server Compact Edition weiter. Der Server-Agent für SQL Server Compact Edition erstellt eine neue Eingabenachrichtendatei und schreibt die vom Client-Agent für SQL Server Compact Edition gesendeten Einfüge-, Aktualisierungs- und Löschänderungen in diese Datei.

  2. Ausführen des SQL Server-Synchronisierungsprozesses und Anwenden der Änderungen auf die Publikationsdatenbank.
    Wenn alle Anforderungen in die Eingabenachrichtendatei geschrieben wurden, startet der Server-Agent für SQL Server Compact Edition die SQL Server-Synchronisierung. Die SQL Server-Synchronisierung lädt den SQL Server Compact Edition-Replikationsanbieter, der die Eingabenachrichtendatei liest und die SQL Server-Synchronisierung über an der SQL Server Compact Edition-Abonnementdatenbank vorgenommene Änderungen informiert, die auf die Publikationsdatenbank auf dem Verleger angewendet werden müssen. Während des Verarbeitens erkennt die SQL Server-Synchronisierung Konflikte und löst diese auf. Ein Konflikt tritt auf, wenn mehr als ein Abonnent oder Verleger denselben Datensatz aktualisiert.
    Hinweis   Die SQL Server-Synchronisierung löst Konflikte mithilfe von Konfliktlösern. Sie können die mit SQL Server bereitgestellten Konfliktlöser verwenden, um einfache Konfliktlösung für SQL Server Compact Edition-Replikationsanwendungen zu implementieren. Es können aber auch benutzerdefinierte Konfliktlöser erstellt werden, um ausgefeiltere Lösungen zu implementieren. Weitere Informationen finden Sie unter Erkennung und Lösung von Replikationskonflikten.

  3. Erstellen der Ausgabenachrichtendatei.
    Die SQL Server-Synchronisierung informiert den SQL Server Compact Edition-Replikationsanbieter über auf dem Verleger vorgenommene Änderungen, die auf die Abonnementdatenbank auf dem Gerät angewendet werden müssen. Der SQL Server Compact Edition-Replikationsanbieter schreibt diese Änderungen in eine Ausgabenachrichtendatei auf dem Server, auf dem IIS ausgeführt wird.

  4. Lesen der Ausgabenachrichtendatei und Anwenden von Änderungen auf die SQL Server Compact Edition-Abonnementdatenbank.
    Wenn der SQL Server-Synchronisierungsprozess abgeschlossen ist, sucht der Server-Agent für SQL Server Compact Edition die Ausgabenachrichtendatei, die vom SQL Server Compact Edition-Replikationsanbieter erstellt wurde. Diese Datei enthält die Änderungen, die auf dem Verleger vorgenommen wurden und auf die Abonnementdatenbank auf dem Gerät angewendet werden müssen. Der Server-Agent für SQL Server Compact Edition liest die Ausgabenachrichtendatei und überträgt sie an den Client-Agent für SQL Server Compact Edition auf dem Gerät. Der Client-Agent für SQL Server Compact Edition wendet die Änderungen aus der Ausgabenachrichtendatei auf die SQL Server Compact Edition-Abonnementdatenbank an.
    Hinweis   Der Client-Agent für SQL Server Compact Edition verarbeitet sowohl die Eingabe- als auch die Ausgabenachrichtendatei in logischen Blöcken, während er aus der Abonnementdatenbank auf dem Gerät liest oder Änderungen auf sie anwendet. Da jede Nachrichtendatei auf diese Weise verarbeitet wird, muss der Client-Agent für SQL Server Compact Edition nicht die gesamte Nachrichtendatei auf dem Gerät schreiben und spart so Speicherplatz auf dem Gerät.

Nachdem der Client-Agent für SQL Server Compact Edition alle Änderungen in die Abonnementdatenbank auf dem Gerät eingefügt hat und sämtliche Konflikte aufgelöst wurden, sind Publikations- und Abonnementdatenbank synchronisiert und die Daten zusammengeführt. Da jedoch ständig Aktualisierungen vorgenommen werden können, sind die Datenwerte auf dem Verleger und den Abonnenten möglicherweise nicht identisch.

Wichtig:
Sie können nicht zwei Mergereplikationsprozesse gleichzeitig auf derselben Datenbank starten.

Siehe auch

Hilfe und Information

Informationsquellen für SQL Server Compact Edition