Vergleichen von Synchronisierungstechnologien

Microsoft bietet mehrere Synchronisierungstechnologien speziell für Anwendungen, die in gelegentlich verbundenen Umgebungen ausgeführt werden. Zu den wichtigsten gehören folgende:

  • Der Remotedatenzugriff (Remote Data Access, RDA), der verwendet wird, um eine SQL Server Compact 3.5-Datenbank zusammen mit einer Datenbank auf einer anderen Edition von SQL Server zu synchronisieren.
  • Die Mergereplikation, die verwendet wird, um unterschiedliche Editionen von SQL Server zu synchronisieren, einschließlich SQL Server Compact 3.5.

Hinweis

Synchronization Services und andere Synchronisierungstechnologien können nicht für die gleiche Tabelle in der Clientdatenbank verwendet werden.

Anhand der folgenden Tabelle, die eine Übersicht über die wichtigsten Features enthält, können Sie bestimmen, welche Technologie für die von Ihnen erstellten Anwendungen geeignet ist.

  RDA Mergereplikation Synchronization Services

Synchronisieren über Dienste

Nein

Nein

Ja

Unterstützt heterogene Datenbanken

Nein

Nein

Ja

Inkrementelle Änderungsnachverfolgung

Nein1

Ja

Ja

Konflikterkennung und Konfliktlösung

Nein

Ja

Ja

Einfaches Erstellen von Datensichten auf dem Client

Nein

Nein

Ja

Automatisches Initialisieren von Schema und Daten

Ja

Ja

Ja

Unterstützt große Datasets

Ja

Ja

Ja

Abfrageprozessor ist lokal verfügbar

Ja

Ja

Ja

Automatisches Weitergeben von Schemaänderungen

Nein

Ja

Nein

Automatisches Neupartitionieren von Daten

Nein

Ja

Nein

Verwendung auf Geräten

Ja

Ja

Ja

1 RDA unterstützt inkrementelle Uploads. Für Downloads erfolgt jedoch immer eine Snapshotsynchronisierung, bei der die Daten auf dem Client vollständig aktualisiert werden.

Synchronization Services bietet die Flexibilität eines Programmiermodells (wie bei Offline-Datasets) gepaart mit einer breiten Palette an Synchronisierungsfeatures (wie bei der Mergereplikation). Die Funktionalität von Synchronization Services ist RDA überlegen.

Die Mergereplikation wurde für den DBA und zum Synchronisieren von SQL Server-Datenbanken konzipiert. Sie stellt wichtige Funktionen bereit und lässt sich mithilfe von Assistenten, gespeicherten Prozeduren und einer eigenen API konfigurieren. Synchronization Services ist für Entwickler gedacht und ermöglicht das einfache Erstellen von Datensichten auf dem Client, die auf einer Serverdatenbank oder einer anderen Datenquelle basieren. Synchronization Services unterstützt heterogene Datenbanken und die Synchronisierung über Dienste, z. B. WCF. Wenn Ihre Anwendung die Synchronisierung mit Nicht-SQL Server-Datenbanken vorsieht oder modular strukturiert sein muss, damit die Synchronisierung über verschiedene Transporte oder Dienste erfolgen kann, verwenden Sie Synchronization Services.

Bei einigen Anwendungen fällt die Wahl der Synchronisierungstechnologie leicht: Wenn Sie eine andere Datenquelle als eine SQL Server-Datenbank synchronisieren müssen, bietet sich Synchronization Services an. Wenn Sie ein Datenbankadministrator sind, der die Synchronisierung ohne großen Programmieraufwand konfigurieren möchte, ist die Mergereplikation vorzuziehen. Letztendlich müssen Sie die Anforderungen Ihrer Anwendung genau einschätzen und bestimmen, ob die Synchronization Services-API die geeignete Technologie ist. Wenn Sie nicht nur ein Schema und dessen Daten von einer Datenbank auf eine andere replizieren möchten, ist Synchronization Services eindeutig die richtige Wahl.