Freigeben über


Übersicht über die Client- und Serversynchronisierung

Mit Sync Framework können Sie über 2-Ebenen-, n-Ebenen- und dienstbasierte Architekturen Daten aus verschiedenen Quellen synchronisieren. Die Sync Framework-API für Client- und Serversynchronisierung stellt einen Satz von Komponenten zur Verfügung, mit dem Daten zwischen Datendiensten und einem lokalen Speicher synchronisiert werden können, statt nur die Datenbank und ihr Schema zu replizieren. Es gibt immer mehr Anwendungen, die auf mobilen Clients, wie tragbaren Computern und anderen mobilen Geräten, verwendet werden. Da diese mobilen Clients keine dauerhafte oder zuverlässige Netzwerkverbindung mit einem zentralen Server haben, müssen sich diese Anwendungen einer lokalen Kopie der Daten auf dem Client bedienen. Außerdem muss sichergestellt sein, dass die lokale Kopie der Daten mit einem zentralen Server synchronisiert wird, sobald eine Netzwerkverbindung verfügbar ist. Die nach dem Vorbild der ADO.NET-Datenzugriffs-APIs entwickelte Datenbanksynchronisierungs-API von Sync Framework bietet eine intuitive Möglichkeit zum Synchronisieren von Daten. Mit Sync Framework wird das Erstellen von Anwendungen für nur zeitweise verbundene Umgebungen zu einer logischen Erweiterung des Erstellens von Anwendungen, die sich auf eine dauerhafte Netzwerkverbindung verlassen können. Weitere Informationen zur Architektur der API finden Sie unter Architektur und Klassen für die Client- und Serversynchronisierung.

Vergleich von Sync Framework mit anderen Technologien

Microsoft bietet verschiedene Technologien, die für Anwendungen entwickelt wurden, die in zeitweise verbundenen Umgebungen ausgeführt werden. Die wichtigsten dieser Technologien sind:

  • Remotedatenzugriff (Remote Data Access, RDA) Wird verwendet, um eine SQL Server Compact-Datenbank mit einer Datenbank einer anderen Edition von SQL Server zu synchronisieren.

  • Mergereplikation Wird verwendet, um unterschiedliche SQL Server-Editionen zu synchronisieren und enthält SQL Server Compact.

Anhand der folgenden Tabelle können Sie bestimmen, welche Technologie für die Anwendungen geeignet ist, die Sie erstellen möchten.

Schlüsselfeature RDA Mergereplikation Sync Framework

Synchronisieren anhand von Diensten

Nein

Nein

Ja

Unterstützung für heterogene Datenbanken

nein

nein

ja

Nachverfolgung inkrementeller Änderungen

nein1

ja

ja

Konflikterkennung und -auflösung

nein

ja2

ja

Problemloses Erstellen von Datensichten auf dem Client3

nein

nein

ja

Automatisches Initialisieren von Schema und Daten

ja

ja

ja

Unterstützung für große Datasets

ja

ja

ja

Automatische Weitergabe von Schemaänderungen

nein

ja

nein

Automatisches Neupartitionieren von Daten

nein

ja

nein

Verwendung auf Geräten

ja

ja

ja

1 RDA unterstützt zwar inkrementelle Hochladevorgänge, aber Downloads werden immer als Momentaufnahmensynchronisierung ausgeführt, die alle Daten auf dem Client aktualisiert.

2 Mergereplikation bietet eine integrierte Konfliktauflösung. Sync Framework stellt ein Framework zum Erstellen eines Konfliktauflösungsschemas bereit. Weitere Informationen dazu finden Sie unter Vorgehensweise: Behandeln von Datenkonflikten und Fehlern.

3 Weitere Informationen finden Sie unter Vorgehensweise: Erstellen von Datensichten auf einem Client.

Sync Framework bietet die Flexibilität eines Programmierungsmodells, wie Offlinedatasets, und bessere Synchronisierungsfunktionen, wie die der Mergereplikation. Die Sync Framework-Funktionalität ist RDA überlegen. Die Mergereplikation ist für Datenbankadministratoren gedacht und wurde für das Synchronisieren von SQL Server-Datenbanken entwickelt. Die Mergereplikation bietet einen großen Funktionsumfang mit Konfigurationsmöglichkeiten über Assistenten, gespeicherte Prozeduren und eine eigene API. Sync Framework ist für Entwickler gedacht, die damit in die Lage versetzt werden, schnell und einfach Datenansichten auf dem Client zu erstellen, die auf einer Serverdatenbank oder einer anderen Datenquelle basieren. Sync Framework unterstützt heterogene Datenbanken und die Synchronisierung über Dienste, z. B. Windows Communication Foundation (WCF). Wenn die Anwendung auch Synchronisierungen mit Nicht-SQL Server-Datenbanken vornimmt oder wenn die Anwendung separate Komponenten für die Synchronisierung über verschiedene Transporte oder Dienste hinweg haben muss, verwenden Sie Sync Framework.

Bei einigen Anwendungen ist die Entscheidung für eine Technologie einfach: Wenn Sie eine andere Datenquelle als eine SQL Server-Datenbank synchronisieren müssen, ist Sync Framework die richtige Lösung. Wenn Sie Datenbankadministrator sind und eine Synchronisierung ohne Programmierung konfigurieren möchten, ist die Mergereplikation zumeist die bessere Wahl. Letztendlich müssen Sie die Anwendungsanforderungen sorgfältig überdenken und dann entscheiden, ob die Sync Framework-API die richtige Technologie ist. Wenn nicht nur ein Schema und dessen Daten von einer Datenbank in eine andere repliziert werden sollen, ist die Verwendung von Sync Framework ratsam.

Hinweis

RDA oder Mergereplikation können nicht zusammen mit Sync Framework für dieselbe Tabelle in der Clientdatenbank verwendet werden.

Verwenden der Dokumentation für Sync Framework

In den Themen in der Sync Framework-Dokumentation finden Sie eine detaillierte Einführung in die Datenbanksynchronisierungs-API von Sync Framework, Beispielcode und eine API-Referenz. Die API-Referenz für die Client- und Serversynchronisierung finden Sie in Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServerCe und Microsoft.Synchronization.Data.Server.

Wenn Sie weitere Informationen wünschen, empfehlen wir, die Dokumentation in der folgenden Reihenfolge zu lesen:

  1. In Architektur und Klassen für die Client- und Serversynchronisierung erhalten Sie Informationen zur Architektur der API und zu den wichtigsten Klassen.

  2. In Erste Schritte: Client- und Serversynchronisierung finden Sie den Code für eine einfache Anwendung.

  3. In Tools zum Entwickeln von Anwendungen erhalten Sie Informationen zu den Tools, die Sie zum Entwickeln einer Anwendung verwenden können.

  4. In den Themen unter Programmieren von allgemeinen Client- und Serversynchronisierungsaufgaben können Sie sich über die Ausführung häufig vorkommender Aufgaben informieren. Diese Themen enthalten Beispielcode. Weitere Beispiele finden Sie im Sync Framework-SDK und in der Codegalerie.

  5. Das Lesen dieser Abschnitte vermittelt Ihnen eine Verständnisgrundlage für die Entwicklungsanleitungen in Überlegungen zum Entwurf und zur Bereitstellung von Anwendungen. Wenn Sie sich ausreichend mit der API vertraut gemacht haben, können Sie mit dem Programmieren beginnen: Sie werden sehen, dass es einfach ist, Anwendungen mit Synchronisierung zu versehen.

Siehe auch

Konzepte

Offlineszenarien
Architektur und Klassen für die Client- und Serversynchronisierung