Microsoft SQL Server Replikation - Überblick

SQL Server Replikation zur Verteilung von Daten über mehrere Standorte. Replizieren Sie dabei ganze Datenbanken oder ausgewählte Objekte einer Datenbank.

Icon SQL Server

In diesem Artikel bekommen Sie allgemeine Informationen über die Replikation des Microsoft SQL Servers und deren einzelne Komponenten.

Microsoft SQL Server Replikation Überblick


 

Allgemein

Eine wichtige Feststellung ist, dass die Replikation keine Technik für eine Ausfallsicherheit ist. Eine Ausfallsicherheit kann beim SQL Server mit AlwaysOn Availability Groups, AlwaysOn Failover Cluster oder auch dem Log Shipping erreicht werden.

Die Replikation wird für das Verteilen von Daten über mehrere Standorte, oder zu Remote- bzw. mobilen Benutzern, verwendet. Dabei können ganze Datenbanken, oder nur bestimmte Objekte einer Datenbank repliziert werden. Die Konsistenz und die Integrität werden dabei von den Replikationskomponenten überprüft.


 

Begrifflichkeiten

Es gibt einige Begrifflichkeiten, die zum Verständnis der Replikationsarten nötig sind:

  • Verleger (Publisher)
    Der Verleger ist eine Datenbankinstanz, die Daten zu einer oder mehreren Standorten verfügbar macht. Der Verleger kann eine oder mehrere Veröffentlichungen bereitstellen.
     
  • Veröffentlichung (Publication)
    Eine Veröffentlichung (Publication) ist ein logischer Verbund von Artikeln einer Datenbank. Sie erlaubt uns, allgemeine Eigenschaften aller Artikel in einer Veröffentlichung festzulegen.
     
  • Abonnent (Subscriber)
    Eine Datenbankinstanz, die Replikationsdaten empfängt, nennt man Abonnent (Subscriber). Ein Abonnent kann Daten von mehreren Verlegern und Veröffentlichungen empfangen. Je nach Art der Replikation, kann ein Abonnent aber auch Änderungen der Daten an den Verleger, oder andere Abonnenten senden.
     
  • Abonnement (Subscription)
    Ein Abonnement ist eine Anforderung einer Kopie von Daten und Datenbankobjekten in einer Veröffentlichung. Das Abonnement definiert dabei, welche Daten der Veröffentlichung empfangen werden, sowie wann und wohin.

    Es gibt zwei verschiedene Arten der Abonnements:
    • Push Abonnement (push subscription): Der Verteiler schickt Änderungen der Daten direkt an den Abonnementen
    • Pull Abonnement (pull subscription): Der Abonnement prüft in regelmäßigen Abständen, ob es Änderungen beim Verteiler gibt. Falls es welche gibt, werden diese synchronisiert.
       
  • Artikel (Article)
    Ein Artikel umfasst ein zu replizierendes Objekt einer SQL Server Datenbank. Das kann eine Tabelle, Stored Procedure oder eine View sein. Artikel können in ihrem Umfang durch Filter eingeschränkt werden. Außerdem können auch mehrere Artikel für das selbe Objekt erstellt werden, hierbei gibt es aber einige Einschränkungen.
     
  • Verteiler (Distributor)
    Als Verteiler bezeichnet man die Datenbank, die alle replikationsrelevanten Daten für einen oder mehrere Verleger speichert. In den meisten Fällen, ist der Verteiler eine einzelne Datenbank, die als Verleger und Verteiler arbeitet. Im SQL Server wird das als "lokaler Verteiler" bezeichnet (local distributor). Wenn dies auf einem anderen Server konfiguriert ist, wird es als "entfernter Verteiler" bezeichnet (remote distributor). Jeder Verleger ist mit einer Verteilungsdatenbank, auch "Verteiler" genannt verbunden.

    Jeder Verteiler besitzt eine Verteilerdatenbank (distribution database). Diese enthält Details über Artikel, Meta-Daten und Daten der Replikation. Ein Verteiler kann mehrere Verteilerdatenbanken besitzen. Alle Veröffentlichungen eines Verteilers, müssen in einer Verteilerdatenbank stehen.

 

Replikationsarten

Eine Replikation kann dauerhaft oder nur in bestimmten Intervallen, automatisch oder manuell, erfolgen.

Derzeit bietet der SQL Server folgende Replikationsarten an:

NameBeschreibungReplikationsrichtung
TransaktionsreplikationDauerhafte Replikation, bei der Änderungen repliziert werden, sobald sie auftreten. Die Änderungen werden von einem Verleger an einen oder mehrere Abonnenten gesendet (One-Way).   One-Way
MergereplikationDaten können sowohl auf dem Verleger, als auch auf dem Abonnenten geändert werden. Wenn eine Verbindung zwischen beiden besteht, werden die Zeilen ausgetauscht, die sich seit der letzen Synchronisierung geändert haben. (Two-Way)   Many-To-Many
Momentaufnahmereplikation
(Snapshot Replication)
Auf dem Verleger wird eine Momentaufnahme (Snapshot) erstellt und an den Abonnenten gesendet. Dabei wird immer der Stand der Momentaufnahme am Abonnenten angewendet. (One-Way)   One-Way
Peer-to-PeerBenutzt die Techniken der Transaktionsreplikation, kann transaktionskonsistente Änderungen fast in Echtzeit zwischen mehreren Serverinstanzen verteilen. Hier gibt es allerdings einige Einschränkungen im Datenbank- und Tabellen Design.   Many-To-Many
BidirektionalIst eine spezielle Konfiguration der Transaktionsreplikation, bei der zwei Server Daten veröffentlichen und vom jeweils anderen abonnieren.   Two-Way