MS SQL Server - HA-Technologien

Hochverfügbarkeit (HA) ist die Lösung \ Prozess \ Technologie, um die Anwendung \ Datenbank bei geplanten oder ungeplanten Ausfällen rund um die Uhr verfügbar zu machen.

In MS SQL Server gibt es hauptsächlich fünf Optionen, um eine Hochverfügbarkeitslösung für die Datenbanken einzurichten.

Reproduzieren

Die Quelldaten werden über Replikationsagenten (Jobs) zum Ziel kopiert. Technologie auf Objektebene.

Terminologie

  • Herausgeber ist Quellserver.
  • Der Verteiler ist optional und speichert replizierte Daten für den Abonnenten.
  • Teilnehmer ist der Zielserver.

Protokollversand

Die Quelldaten werden über Transaktionsprotokoll-Sicherungsjobs zum Ziel kopiert. Technologie auf Datenbankebene.

Terminologie

  • Primärserver ist Quellserver.
  • Der sekundäre Server ist der Zielserver.
  • Der Überwachungsserver ist optional und wird anhand des Protokollversandstatus überwacht.

Spiegeln

Die Primärdaten werden mithilfe der Spiegelung des Endpunkts und der Portnummer über die Netzwerktransaktion auf die Sekundärdaten kopiert. Technologie auf Datenbankebene.

Terminologie

  • Der Hauptserver ist der Quellserver.
  • Der Spiegelserver ist der Zielserver.
  • Der Zeugenserver ist optional und wird für das automatische Failover verwendet.

Clustering

Die Daten werden an einem gemeinsam genutzten Ort gespeichert, der je nach Verfügbarkeit des Servers sowohl vom primären als auch vom sekundären Server verwendet wird. Technologie auf Instanzebene. Das Windows-Clustering-Setup ist für gemeinsam genutzten Speicher erforderlich.

Terminologie

  • Auf dem aktiven Knoten werden SQL Services ausgeführt.
  • Auf dem passiven Knoten werden SQL Services nicht ausgeführt.

AlwaysON-Verfügbarkeitsgruppen

Die Primärdaten werden über Netzwerktransaktionsbasis in die Sekundärdaten kopiert. Gruppe von Technologie auf Datenbankebene. Das Windows-Clustering-Setup ist ohne gemeinsam genutzten Speicher erforderlich.

Terminologie

  • Das primäre Replikat ist der Quellserver.
  • Das sekundäre Replikat ist der Zielserver.

Im Folgenden werden die Schritte zum Konfigurieren der HA-Technologie (Spiegelung und Protokollversand) mit Ausnahme von Clustering, AlwaysON-Verfügbarkeitsgruppen und Replikation beschrieben.

Step 1 - Erstellen Sie eine vollständige und eine T-Log-Sicherung der Quellendatenbank.

Beispiel

Um die Spiegelung \ Protokollversand für die Datenbank 'TestDB' in 'TESTINSTANCE' als primären und 'DEVINSTANCE' als sekundären SQL Server zu konfigurieren, schreiben Sie die folgende Abfrage, um vollständige und T-Log-Sicherungen auf dem Quellserver (TESTINSTANCE) durchzuführen.

Stellen Sie eine Verbindung zu 'TESTINSTANCE' SQL Server her, öffnen Sie eine neue Abfrage, schreiben Sie den folgenden Code und führen Sie ihn wie im folgenden Screenshot gezeigt aus.

Backup database TestDB to disk = 'D:\testdb_full.bak'
GO
Backup log TestDB to disk = 'D:\testdb_log.trn'

Step 2 - Kopieren Sie die Sicherungsdateien auf den Zielserver.

In diesem Fall sind nur ein physischer Server und zwei SQL Server-Instanzen installiert. Daher ist kein Kopieren erforderlich. Wenn sich jedoch zwei SQL Server-Instanzen auf einem anderen physischen Server befinden, müssen die folgenden beiden Dateien an einen beliebigen Speicherort des kopiert werden Sekundärserver, auf dem die Instanz 'DEVINSTANCE' installiert ist.

Step 3 - Stellen Sie die Datenbank mit Sicherungsdateien auf dem Zielserver mit der Option 'norecovery' wieder her.

Beispiel

Stellen Sie eine Verbindung zu 'DEVINSTANCE' SQL Server her und öffnen Sie New Query. Schreiben Sie den folgenden Code, um die Datenbank mit dem Namen 'TestDB' wiederherzustellen, der der Name der Primärdatenbank ('TestDB') für die Datenbankspiegelung entspricht. Wir können jedoch einen anderen Namen für die Protokollversandkonfiguration angeben. In diesem Fall verwenden wir den Datenbanknamen 'TestDB'. Verwenden Sie die Option 'norecovery' für zwei Wiederherstellungen (vollständige und T-Log-Sicherungsdateien).

Restore database TestDB from disk = 'D:\TestDB_full.bak'
with move 'TestDB' to 'D:\DATA\TestDB_DR.mdf',
move 'TestDB_log' to 'D:\DATA\TestDB_log_DR.ldf',
norecovery
GO
Restore database TestDB from disk = 'D:\TestDB_log.trn' with norecovery

Aktualisieren Sie den Datenbankordner auf dem Server 'DEVINSTANCE', um die wiederhergestellte Datenbank 'TestDB' mit dem Wiederherstellungsstatus anzuzeigen, wie im folgenden Snapshot gezeigt.

Step 4 - Konfigurieren Sie die HA (Protokollversand, Spiegelung) gemäß Ihren Anforderungen, wie im folgenden Schnappschuss gezeigt.

Beispiel

Klicken Sie mit der rechten Maustaste auf die 'TestDB'-Datenbank von' TESTINSTANCE 'SQL Server, die primär ist, und klicken Sie auf Eigenschaften. Der folgende Bildschirm wird angezeigt.

Step 5 - Wählen Sie die Option "Spiegeln" oder "Versand des Transaktionsprotokolls" aus, die je nach Anforderung im roten Farbfeld angezeigt wird (siehe Abbildung oben), und befolgen Sie die vom System selbst geleiteten Assistentenschritte, um die Konfiguration abzuschließen.