Replikation

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Zusammenfassung

Erfahren Sie, wie Sie durch Replikation und Synchronisation änderungen an mehreren Datenbanken zusammenführen.

Techniken

Replikation, Synchronisation

Voraussetzungen

Access 97 und höher

Beispieldateien

André Minhorst, Duisburg

Wer eine Datenbank im Mehrbenutzerbetrieb verwenden möchte, realisiert das in der Regel über die Aufteilung in ein Backend und mehrere Frontends für die einzelnen Arbeitsplätze. Manchmal geht das aber gar nicht, weil kein Netzwerk zur Verfügung steht – beispielsweise wenn es sich bei den Datenbankanwendern um Außendienstmitarbeiter handelt. In dem Fall gibt es aber eine fast ebenso einfach zu realisierende Lösung: Das Verteilen und Zusammenführen der Datenbank mittels Replikation und Synchronisation.

Um Kopien einer Datenbank zu erzeugen, die Sie nach der änderung der enthaltenen Daten wieder mit der Originaldatenbank zusammenführen können, müssen Sie zunächst eine so genannte Designmaster-Datenbank erstellen. Access ermöglicht dies durch einen einfachen Menübefehl, den Sie weiter unten kennen lernen. Die Designmaster-Datenbank weist einige Unterschiede zur Originaldatenbank auf. So werden Tabellen um Felder erweitert und neue Systemtabellen angelegt. Diese Erweiterungen sind sehr wichtig, weil sie etwa das Erkennen von geänderten Daten beim Zusammenführen mehrerer Replikate ermöglichen und dabei auftretende Konflikte lösen oder diese zumindest dem Benutzer melden.

Notwendig ist diese Technik wie bereits in der Einleitung erwähnt etwa für den Einsatz in Unternehmen mit Außendienstmitarbeitern. Diese nehmen Informationen auf, haben aber keine direkte Verbindung zur zentralen Datenbank. Daher müssen die Informationen später, wenn der Mitarbeiter wieder Kontakt zur Hauptdatenbank hat, auf den aktuellen Stand gebracht werden.

Dabei können mehrere Konstellationen auftreten. Wenn änderungen an unterschiedlichen Datensätzen erfolgt sind, werden diese vorbehaltlos übernommen. Anders sieht es aus, wenn mehrere Mitarbeiter den gleichen Datensatz bearbeitet haben. In dem Fall gibt es die folgenden Varianten:

  • Der Datensatz wurde nur von einem Mitarbeiter geändert. Dann wird die aktuellere Version des Datensatzes übernommen.
  • Der Datensatz wurde von mehr als einem Mitarbeiter geändert. Dabei kommt es auf die Art der änderung an. Wenn die Mitarbeiter unterschiedliche Felder geändert haben, werden alle änderungen übernommen.
  • Bild 1: Start der Replikation

    Bild 2: Die Konvertierung in eine Designmaster-Datenbank bezieht sich direkt auf die Originaldatei …

    Bild 3: … daher sollten Sie die Gelegenheit nutzen, um ein Backup der Originaldatenbank zu erzeugen.

  • Wenn mehr als ein Mitarbeiter einen Datensatz geändert hat und sich ein Teil der änderung auf ein und dasselbe Feld bezieht, löst dies einen Konflikt aus. Sie müssen dann manuell festlegen, welche änderung übernommen wird.
  • Wann sollten Replikate eingesetzt werden

    Die Antwort auf diese Frage ist ganz einfach: Wenn es nicht anders geht. Wenn ein Netzwerk greifbar ist, sollten Sie immer die direkte Verbindung zu einem gemeinsamen Datenbankbackend suchen. Die Replikation und Synchronisation liefern immerhin ein paar Nachteile:

  • Die zusätzlichen Felder und Tabellen kosten Speicherplatz und Performance.
  • Im Gegensatz zum Netzwerkbetrieb gibt es keine Sperrmechanismen, je nach Art der Datenbank kann es so zu zahlreichen Konflikten kommen.
  • Ein Grund für den Einsatz von Replikation trotz vorhandener Netzwerk-Infrastruktur ist das so genannte “warme Backup”. Access bietet von Haus aus keine Möglichkeit, ein Backup im laufenden Betrieb zu erzeugen. Die Replikation ermöglicht dies: Dazu erstellen Sie einfach eine Designmaster-Datenbank, die Sie für den normalen Betrieb weiterverwenden und ein Replikat. Wenn Sie die beiden Datenbanken regelmäßig synchronisieren, haben Sie immer ein halbwegs aktuelles Backup.
  • Zum Replizieren einer Datenbank rufen Sie den Menüeintrag Extras/Replikation (Datenbank in Replikat konvertieren auf. Dies ist in einer nicht replizierten Datenbank auch die einzige Option in diesem Untermenü (siehe Bild 1).

    In zwei weiteren Dialogen weist Access Sie darauf hin, dass die aktuelle Datenbank nun geschlossen und in eine Designmaster-Datenbank umgewandelt wird (siehe Bild 2). Dabei erhalten Sie natürlich Gelegenheit, noch ein Backup von der aktuellen Datenbank anzulegen (siehe Bild 3).

    Nach dem erneuten öffnen der Datenbank sieht man dem Datenbankfenster die Veränderung an: Im Titel wird die Bezeichnung Designmaster verwendet und ein neues Symbol deutet an, dass die vorhandenen Tabellen um die für die Replikation notwendigen Eigenschaften ergänzt wurden.

    Bild 4: Die neuen Symbole im Datenbankfenster zeugen von der erfolgreichen Umwandlung in eine Designmaster-Datenbank.

    Bild 5: Festlegen des Speicherorts des neuen Replikats

    Bild 6: Das Replikat ist erstellt und wird beim nächsten öffnen der aktuellen Datenbank in der Liste der Replikate aufgeführt.

    In Bild 4 sind zusätzlich die Systemtabellen eingeblendet. Auch hier hat sich einiges getan:

    Es sind Tabellen mit und ohne das Replikationssymbol hinzugekommen, von denen Sie später noch einige kennen lernen. Die Ansicht aus Bild 4 erzeugen Sie übrigens, indem Sie im Optionen-Dialog (Extras/Optionen) die Option Systemobjekte aktivieren.

    Das ist selbstverständlich nur der erste Schritt gewesen. Sie haben nun (hoffentlich) ein Backup der Originaldatenbank erzeugt und verfügen über die Designmaster-Datenbank, von der es im übrigen nur eine geben kann.

    Anders sieht es bei den Replikaten aus. Hier können Sie munter loslegen:

  • Wählen Sie aus der Menüleiste den Eintrag Extras/Replikation/Datenbank in Replikat konvertieren… aus.
  • Geben Sie den Dateinamen an, unter dem Access das Replikat speichern soll (siehe Bild 5).
  • Fertig! Nun müssen Sie nur noch die aktuelle Datenbank schließen und wieder öffnen, damit das neue Replikat in der Liste der verfügbaren Replikate angezeigt wird (siehe Bild 6). (
  • Priorität

    Im Dialog aus Bild 5 finden Sie eine Schaltfläche mit der Beschriftung Priorität. Damit können Sie einen weiteren Dialog öffnen, der die Eingabe der Priorität des Replikats ermöglicht (siehe Bild 7). Wenn Sie den vorgegebenen Wert STANDARD beibehalten, wird für das neue Replikat ein Wert festgelegt, der 90 Prozent des Wertes der Designmaster-Datenbank entspricht. Dieser Wert beträgt üblicherweise 90, sodass die Priorität neuer Replikationen den Wert 81 erhält. Sie können selbst Werte zwischen 0 und 100 eingeben.

    Die Priorität spielt eine Rolle, wenn es beim Synchronisieren zu Konflikten kommt. Beachten Sie, dass sich die Priorität nach dem Erstellen des Replikats nicht mehr ändern lässt.

    Bild 7: Einstellen der Priorität eines Replikats

    Bild 8: Auswählen des Replikats, mit dem die aktuelle Datenbank synchronisiert werden soll

    Nach dem Erstellen eines Replikats können Sie die oben beschriebenen unterschiedlichen Möglichkeiten für das ändern von Daten in replizierten Datenbanken ausprobieren. Die folgenden Beispiele gehen vom Vorhandensein einer Designmaster-Datenbank sowie eines Replikats namens Replikat von Nordwind aus.

    Einfache Synchronisation

    Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

    Testzugang

    eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

    diesen und alle anderen Artikel mit dem Jahresabo

    Schreibe einen Kommentar