Gewusst wie: Konfigurieren der Datensynchronisierung zum Verwenden der SQL Server-Änderungsverfolgung

Aktualisiert: Juli 2008

In Visual Studio 2008 SP1 wurde die Unterstützung des Nachverfolgungsfeatures in SQL Server 2008 hinzugefügt. Das Dialogfeld Datensynchronisierung konfigurieren und der Assistent zum Konfigurieren von Datenquellen wurden um die Möglichkeit erweitert, die Änderungsnachverfolgung von SQL Server während der Konfiguration von Synchronization Services zu aktivieren.

Hinweis:

Die Option zum Aktivieren der SQL Server-Änderungsnachverfolgung ist nur verfügbar, wenn die Verbindung mit dem Remotedatenbankserver so konfiguriert ist, dass eine Verbindung mit einer SQL Server 2008-Datenbank hergestellt wird.

Aktivieren der SQL Server-Änderungsnachverfolgung mit dem Dialogfeld "Datensynchronisierung konfigurieren"

Im Folgenden werden die erforderlichen Schritte erläutert, die Sie zum Konfigurieren der Datensynchronisierung und Aktivieren der SQL Server-Änderungsnachverfolgung durchführen müssen, wenn Sie Synchronization Services über das Dialogfeld Datensynchronisierung konfigurieren konfigurieren. Ein Beispiel mit realen Daten und Konfiguration der Synchronisierung im Dialogfeld Datensynchronisierung konfigurieren finden Sie unter Exemplarische Vorgehensweise: Erstellen einer gelegentlich verbundenen Anwendung.

Hinweis:

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So konfigurieren Sie die Datensynchronisierung mit dem Dialogfeld "Datensynchronisierung konfigurieren"

  1. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  2. Klicken Sie auf die Vorlage Cache für lokale Datenbanken.

  3. Geben Sie einen alternativen Namen ein, oder übernehmen Sie den Standardnamen LocalDataCache1.sync.

  4. Klicken Sie auf Hinzufügen.

    Eine SYNC-Datei wird zum Projekt hinzugefügt, und das Dialogfeld Datensynchronisierung konfigurieren wird geöffnet.

  5. Legen Sie für Serververbindung die SQL Server 2008-Remotedatenbank fest, mit der Sie eine Verbindung herstellen möchten.

  6. Legen Sie die Clientverbindung für die lokale SQL Server Compact 3.5-Datenbank fest, in der die Daten lokal gespeichert werden. Wenn noch keine lokale Datenbank besteht, kann die Standardeinstellung Datenbankname.sdf (neu) beibehalten werden, um im Projekt eine neue Datenbank zu erstellen. Der Name der neuen Datenbank basiert auf dem Namen der Datenbank auf dem Server.

    Hinweis:

    Die Schaltfläche OK ist standardmäßig deaktiviert. Sie wird erst aktiviert, nachdem Sie im Bereich Zwischengespeicherte Tabellen eine Tabelle hinzugefügt haben.

  7. Wählen Sie SQL Server-Änderungsnachverfolgung verwenden aus. Diese Option ist standardmäßig aktiviert, wenn Sie unter Serververbindung die SQL Server 2008-Datenbank festgelegt haben.

  8. Klicken Sie auf Hinzufügen, um das Dialogfeld Tabellen für die Offlineverwendung konfigurieren zu öffnen.

  9. Wählen Sie die Tabellen aus, die zum Cache für lokale Datenbanken hinzugefügt werden sollen, und konfigurieren Sie den Synchronisierungsmodus (die beim Synchronisieren herunterzuladenden Daten):

    Herunterzuladende Daten:

    • Neue und inkrementelle Änderungen nach der ersten Synchronisierung

      Mit dieser Einstellung werden Datensätze vom Server abgerufen, die seit der letzten Synchronisierung der Daten geändert wurden. Wenn die Synchronisierung zum ersten Mal aufgerufen wird, wird die gesamte Tabelle heruntergeladen.

    • Immer gesamte Tabelle

      Bei dieser Einstellung wird die lokale Tabelle durch die aktuelle Version auf dem Server ersetzt.

      Hinweis:

      Legen Sie den Synchronisierungsmodus für jede Tabelle fest, die Sie für die Offlineverwendung konfigurieren. Die deaktivierten Zusatzoptionen sind nur verfügbar, wenn die SQL Server-Änderungsnachverfolgung nicht aktiviert ist.

  10. Klicken Sie auf OK.

  11. Klicken Sie auf Codebeispiel anzeigen, um das Dialogfeld Codebeispiel zu öffnen, das ein Codebeispiel zum Starten des Synchronisierungsprozesses enthält. Sie können diesen Code in die Zwischenablage kopieren und anschließend in das Programm einfügen.

  12. Legen Sie gegebenenfalls die Erweiterten Optionen fest.

    Die Optionen unter Erweitert im Dialogfeld Datensynchronisierung konfigurieren stellen Einstellungen bereit, mit denen sich steuern lässt, ob Tabellen getrennt oder in einer einzigen Transaktion synchronisiert werden. Mit diesen Optionen wird zudem die Codetrennung für n-Tier-Anwendungen aktiviert.

    • Tabellen in einer einzigen Transaktion synchronisieren. Diese Option ist standardmäßig deaktiviert, d. h., alle Tabellen werden einzeln synchronisiert. Wenn Fehler auftreten, wird nur in Tabellen mit Fehlern ein Rollback für die Änderungen ausgeführt. Wenn Sie diese Option aktivieren, werden alle Tabellen in einer einzigen Transaktion synchronisiert. Wenn Fehler auftreten, wird in allen Tabellen ein Rollback für alle Änderungen ausgeführt.

    • Synchronisierungskomponenten erstellen. Standardmäßig werden Synchronisierungskomponenten sowohl für den Client als auch für den Server generiert. Sie können diese Option, entsprechend den Anforderungen der Anwendung, auf Nur Client oder Nur Server festlegen.

    • Serverprojektverzeichnis. Standardmäßig werden die Synchronisierungskomponenten für den Server im aktuellen Projekt generiert. Legen Sie diese Option fest, um Synchronisierungskomponenten für den Server in allen Visual Basic-Projekten oder Visual C#-Projekten der Projektmappe zu generieren.

    • Clientprojektverzeichnis. Standardmäßig werden die Synchronisierungskomponenten für den Client im aktuellen Projekt generiert. Legen Sie diese Option fest, um Synchronisierungskomponenten für den Client in allen Visual Basic-Projekten oder Visual C#-Projekten der Projektmappe zu generieren.

  13. Klicken Sie auf OK.

  14. Wenn der Synchronisierungsmodus für eine der lokal zwischengespeicherten Tabellen auf Neue und inkrementelle Änderungen nach der ersten Synchronisierung festgelegt ist, sind Aktualisierungen für die SQL Server-Datenbank erforderlich, und das Dialogfeld SQL-Skripts generieren wird geöffnet. Standardmäßig sind beide Optionen im Dialogfeld ausgewählt:

    • Für inkrementelle Änderungen Server aktualisieren. Wählen Sie diese Option zur automatischen Aktualisierung des Servers aus, damit die inkrementelle Synchronisierung sofort nach dem Schließen dieses Dialogfelds aktiviert wird.

    • SQL-Skripts für die spätere Verwendung im Projekt speichern. Wählen Sie diese Option aus, um die erstellten SQL-Skripts dem Projekt hinzuzufügen, sodass sie später für die SQL Server-Datenbank ausgeführt werden können. Außerdem werden Undo-Skripts generiert und dem Projekt hinzugefügt.

  15. Klicken Sie auf OK.

    Hinweis:

    Die SQL Server-Änderungsnachverfolgung wird erst aktiviert, wenn der Server entsprechend aktualisiert wird.

    Nachdem Sie auf OK geklickt haben, wird der Assistent zum Konfigurieren von Datenquellen mit der Seite Datenbankobjekte auswählen geöffnet. (Der Assistent zum Konfigurieren von Datenquellen startet automatisch, wenn einem Projekt eine lokale Datenbankdatei hinzugefügt wird.)

  16. Wählen Sie die Tabellen aus, die dem typisierten Dataset hinzugefügt werden sollen.

  17. Klicken Sie auf Fertig stellen.

Nach dem Konfigurieren der Datensynchronisierung im Dialogfeld Datensynchronisierung konfigurieren muss der Anwendung Code hinzugefügt werden, damit die Synchronisierung gestartet werden kann.

Hinweis:

Beim Synchronisieren von Daten wird die lokale Datenbank aktualisiert, jedoch nicht die Tabelle im Dataset oder andere Objekte der Anwendung. Denken Sie daran, die Datenquelle der Anwendung mit den aktualisierten Daten aus der lokalen Datenbank neu zu laden. Rufen Sie z. B. die TableAdapter.Fill-Methode auf, um die Datentabelle des Datasets mit den aktualisierten Daten der lokalen Datenbank zu laden.

So fügen Sie Code zum Starten der Synchronisierung hinzu

  • Nachdem Sie den Code aus dem Dialogfeld Codebeispiel im vorherigen Abschnitt kopiert haben, können Sie ihn in die Anwendung einfügen. Sie können auch den folgenden Code an einer beliebigen Stelle in der Anwendung einfügen, an der Sie den Synchronisierungsprozess starten möchten.

    ' Call SyncAgent.Synchronize() to initiate the synchronization process.
    ' Synchronization only updates the local database, not your project's data source.
    Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    
    ' Add code here to refill your application's data source
    ' with the updated data from the local database.
    
    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    

Aktivieren der SQL Server-Änderungsnachverfolgung mit dem Assistent zum Konfigurieren von Datenquellen

Im Folgenden werden die erforderlichen Schritte erläutert, die Sie zum Konfigurieren der Datensynchronisierung und Aktivieren der SQL Server-Änderungsnachverfolgung durchführen müssen, wenn Sie ein typisiertes Dataset mithilfe des Assistenten zum Konfigurieren von Datenquellen konfigurieren.

Ein Beispiel mit realen Daten, das veranschaulicht, wie Sie die Synchronisierung beim Erstellen eines typisierten Datasets mit dem Assistenten zum Konfigurieren von Datenquellen konfigurieren, finden Sie unter Exemplarische Vorgehensweise: Erstellen einer gelegentlich verbundenen Anwendung mit dem Assistenten zum Konfigurieren von Datenquellen.

So konfigurieren Sie die Verwendung der SQL Server-Änderungsnachverfolgung bei der Datensynchronisierung mit dem Assistenten zum Konfigurieren von Datenquellen

  1. Klicken Sie im Menü Daten auf Datenquellen anzeigen.

  2. Wählen Sie im Fenster Datenquellen die Option Neue Datenquelle hinzufügen aus, um den Assistenten zum Konfigurieren von Datenquellen zu öffnen.

  3. Übernehmen Sie auf der Seite Datenquellentyp auswählen den Standardwert für Datenbank, und klicken Sie auf Weiter.

  4. Führen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus einen der folgenden Schritte aus:

    • Wenn in der Dropdownliste eine Datenverbindung mit der gewünschten SQL Server 2008-Version der Datenbank verfügbar ist, wählen Sie diese aus.

      - oder -

    • Wählen Sie Neue Verbindung aus, um das Dialogfeld Datenquelle auswählen oder Verbindung hinzufügen/ändernzu öffnen und eine neue Verbindung mit der SQL Server 2008-Datenbank zu erstellen. Weitere Informationen hierzu finden Sie unter Dialogfeld "Verbindung hinzufügen/ändern" (Allgemein).

  5. Sollte für die Datenbank ein Kennwort erforderlich sein, wählen Sie die Option für die Einbeziehung vertraulicher Daten aus, und klicken Sie anschließend auf Weiter.

  6. Klicken Sie auf der Seite Verbindungszeichenfolge in der Programmkonfigurationsdatei speichern auf Weiter.

  7. Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.

  8. Wählen Sie die Tabellen aus, die Sie dem lokalen Datenbankcache hinzufügen möchten.

  9. Wählen Sie Zwischenspeichern der lokalen Datenbank aktivieren aus.

  10. Klicken Sie auf der Seite Datenbankobjekte auswählen auf Weiter.

  11. Wählen Sie auf der Seite Tabellen zum Zwischenspeichern auswählen die Tabellen aus, die Sie zwischenspeichern möchten.

  12. Legen Sie den Synchronisierungsmodus fest.

    • Neue und inkrementelle Änderungen nach der ersten Synchronisierung

      Mit dieser Einstellung werden Datensätze vom Server abgerufen, die seit der letzten Synchronisierung der Daten geändert wurden. Wenn die Synchronisierung zum ersten Mal aufgerufen wird, wird die gesamte Tabelle heruntergeladen.

    • Immer gesamte Tabelle

      Bei dieser Einstellung wird die lokale Tabelle durch die aktuelle Version auf dem Server ersetzt.

  13. Wählen Sie SQL Server-Änderungsnachverfolgung verwenden aus. Diese Option ist standardmäßig aktiviert, wenn Sie als Serververbindung die SQL Server 2008-Datenbank festgelegt haben.

  14. Klicken Sie auf Fertig stellen.

  15. Wenn der Synchronisierungsmodus für eine der lokal zwischengespeicherten Tabellen auf Neue und inkrementelle Änderungen nach der ersten Synchronisierung festgelegt ist, sind Aktualisierungen für die SQL Server-Datenbank erforderlich, und das Dialogfeld SQL-Skripts generieren wird geöffnet. Standardmäßig sind beide Optionen im Dialogfeld ausgewählt:

    • Für inkrementelle Änderungen Server aktualisieren. Wählen Sie diese Option zur automatischen Aktualisierung des Servers aus, damit die inkrementelle Synchronisierung sofort nach dem Schließen dieses Dialogfelds aktiviert wird.

    • SQL-Skripts zur späteren Verwendung im Projekt speichern. Wählen Sie diese Option aus, um die erstellten SQL-Skripts dem Projekt hinzuzufügen, sodass sie später für die SQL Server-Datenbank ausgeführt werden können. Außerdem werden Undo-Skripts generiert und dem Projekt hinzugefügt.

  16. Klicken Sie auf OK.

    Hinweis:

    Die SQL Server-Änderungsnachverfolgung wird erst aktiviert, wenn der Server entsprechend aktualisiert wird.

Nach dem Beenden des Assistenten zum Konfigurieren von Datenquellen muss Code zum Starten der Synchronisierung hinzugefügt werden.

Hinweis:

Beim Synchronisieren von Daten wird die lokale Datenbank aktualisiert, jedoch nicht die Tabelle im Dataset oder andere Objekte der Anwendung. Denken Sie daran, die Datenquelle der Anwendung mit den aktualisierten Daten aus der lokalen Datenbank neu zu laden. Rufen Sie z. B. die TableAdapter.Fill-Methode auf, um die Datentabelle des Datasets mit den aktualisierten Daten der lokalen Datenbank zu laden.

So fügen Sie Code zum Starten der Synchronisierung hinzu

  • Fügen Sie den folgenden Code an einer beliebigen Stelle in der Anwendung ein, an der Sie den Synchronisierungsprozess starten möchten.

    ' Call SyncAgent.Synchronize() to initiate the synchronization process.
    ' Synchronization only updates the local database, not your project's data source.
    Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    
    ' Add code here to refill your application's data source
    ' with the updated data from the local database.
    
    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer gelegentlich verbundenen Anwendung

Exemplarische Vorgehensweise: Bereitstellen einer gelegentlich verbundenen Clientanwendung mit der lokalen Datenbank

Beispiel für gelegentlich verbundene Daten

Konzepte

Übersicht über gelegentlich verbundene Anwendungen

Weitere Ressourcen

Gelegentlich verbundene Anwendungen

Änderungsverlauf

Date

Versionsgeschichte

Grund

Juli 2008

Zusätzliches Thema

SP1-Featureänderung.