Blog
Wednesday, 13. December 2023

Always On Availability Group mit 2 Knoten Installation auf SQL Server 2022

Jannik
IT-Consultant

Eine der am häufigsten von Kunden nachgefragten Funktionen in SQL waren bereits seit SQL 2012 Always On-Verfügbarkeitsgruppen. Dadurch werden Disaster Recovery und Hochverfügbarkeit auf ein neues Niveau gehoben, da mehrere Kopien der Datenbank verfügbar sind, schreibgeschützte Workloads möglich sind und Verwaltungsaufgaben wie Backups ausgelagert werden können.

In dieser Schritt-für-Schritt-Anleitung wird die Erstellung einer SQL Server 2022 Always On-Verfügbarkeitsgruppe beschrieben, um eine hohe Verfügbarkeit geschäftskritischer Datenbanken sicherzustellen.

Voraussetzungen

Damit eine Availability Group einwandfrei funktioniert, müssen einige Voraussetzungen bezüglich der Windows Host und SQL Server Instanzen erfüllt sein:

  • keinen Domaincontroller als Knoten für unsere Availability Group konfigurieren
  • das Betriebssystem darf nicht älter als Windows 2012 sein
  • auf jedem Knoten des Clusters muss ein Windows Server Failover Cluster (WSFC) installiert sein

Als Voraussetzungen für die SQL Server Instanzen gilt, dass

  • jedes Replikat einen Knoten im WSFC darstellt
  • keines der Replikate einen Active Directory Dienst ausführt
  • jede Instanz derselben SQL Server Version entspricht

Hinzufügen des Windows Failover Clusters auf allen Replikaten

Hierfür gehen wir auf all unseren Servern, welche wir als Ziel der Replikation verwenden wollen, wie folgt vor:

  • Wir öffnen den Server Manager auf dem gewünschten Host
  • Anschließend klicken wir auf Add roles and features
Server-Manager, Starbildschirm
Server-Manager, Starbildschirm

Als installation type wählen wir Role-based or feature-based installation aus

Server-Manager, Konfigurations-Wizard, Installationstyp
Server-Manager, Konfigurations-Wizard, Installationstyp

In der Server selection wählen wir unseren aktuellen Server aus

Server-Manager, Konfigurations-Wizard, Zielserver
Server-Manager, Konfigurations-Wizard, Zielserver

Wählen in der Feature Liste die Option Failoverclustering aus.

Sollten Sie auf Ihrer Maschine noch nicht über das .NET Framework 3.5.1 oder höher verfügen, setzen sie diesen Haken ebenfalls in der Feature Liste.

Server-Manager, Konfigurations-Wizard, Feature-Auswahl
Server-Manager, Konfigurations-Wizard, Feature-Auswahl

Mit einem finalen Klick auf Installieren werden alle ausgewählten Features installiert.

Haben wir diese Schritte auf allen gewünschten Hosts durchgeführt, können wir damit beginnen, das WSFC auf unserem primären Replikat zu konfigurieren.

Konfigurieren des WSFC auf dem primären Replikat

Hierfür öffnen wir den Server Manager auf dem primären Replikat und wählen unter Tools am oberen rechten Bildschirmrand den Failover Cluster Manager aus und klicken auf Validate Configuration

Server-Manager, Tool-Auswahl
Server-Manager, Tool-Auswahl
Server-Manager, Failover Cluster Manager, Startseite
Server-Manager, Failover Cluster Manager, Startseite
Server-Manager, Failover Cluster Manager, Configuration Wizward
Server-Manager, Failover Cluster Manager, Configuration Wizward

Hier tragen wir nun die Namen all Server ein, welche wir in unseren Failover Cluster aufnehmen wollen.

Server-Manager, Failover Cluster Manager, Configuration Wizward, Server Selection
Server-Manager, Failover Cluster Manager, Configuration Wizward, Server Selection

Nach einem Klick auf Weiter kommen wir auf die Seite Testing Options. Hier wählen wir Alle Tests durchführen. Sollten hier Warnmeldungen auftreten, so stellen Sie sicher dass Sie mögliche Fehler korrigieren, da sonst Microsoft den Support ablehnt.

Server-Manager, Failover Cluster Manager, Configuration Wizward, Test Optionen
Server-Manager, Failover Cluster Manager, Configuration Wizward, Test Optionen

Nachdem nun die Validierung und die Zusammenfassung abgeschlossen sind, öffnet sich der Clustererstellungs-Assistent. Im Register Zugriffspunkt für die Clusterverwaltung geben wir nun den gewünschten Namen für unser Cluster an.

Konfiguration und Einrichtung der Always On Availability Group

Um zu installieren, müssen wir hierfür die einzelnen SQL Server Instanzen konfigurieren. Hierfür öffnen wir den SQL Server Configuration Manager auf jedem Replikat. Anschließen klicken wir mit einem Rechtsklick unter SQL Server Services auf den Dienst unserer SQL Server Instanz und wählen die Eigenschaften aus. Wir öffnen nun den AlwaysOn High Availablity Reiter und setzen einen Haken bei Enable Always On Availability Groups.

SQL Server Configuration Manager, SQL Server Services
SQL Server Configuration Manager, SQL Server Services
SQL Server Configuration Manager, SQL Server Services
SQL Server Configuration Manager, SQL Server Services
SQL Server Configuration Manager, SQL Server Services, Properties
SQL Server Configuration Manager, SQL Server Services, Properties

Anschließend starten wir den SQL Server Dienst neu, damit unsere Änderungen angewendet werden.

Als nächsten Schritt stellen wir sicher, dass alle unsere Datenbanken im Full Recovery Mode sind.

SSMS, Database Properties, Options
SSMS, Database Properties, Options

Nun führen wir auf allen Datenbanken, welche wir in unsere Availability Group aufnehmen wollen, eine vollständige und eine Transaktionslogsicherung durch.

Auf unserer primären Instanz öffnen wir nun das SQL Server Management Studio (SSMS) und klappen den AlwaysOn High Availability Ordner aus. Mit einem Rechtsklick wählen wir nun Availability Groups und anschließend New Availability Group Wizard aus.

SSMS, Always On
SSMS, Always On
SSMS, Always On, Availability Group Wizard
SSMS, Always On, Availability Group Wizard

Hier spezifizieren wir als erstes den AlwaysOn Group Namen. Ebenfalls setzen wir hier einen Haken für die Database Level Health Detection

SSMS, Always On, Availability Group Wizard, Specify Options
SSMS, Always On, Availability Group Wizard, Specify Options

Nun wählen wir all die Datenbanken aus, die in unsere Availability Group aufgenommen werden sollen:

SSMS, Always On, Availability Group Wizard, Database Selection
SSMS, Always On, Availability Group Wizard, Database Selection

Neben jeder Datenbank befindet sich ein blauer Link, der angibt, ob eine Datenbank bereit ist, in unsere Gruppe aufgenommen zu werden oder nicht. Wenn der Link nicht "Meets prerequisites" lautet, bestehen noch Fehler. Mit einem Klick auf den Link, erhalten wir hierzu eine Nähere Erläuterung. Ein typischer Fehler könnte sein, dass zu dem Kandidaten noch keine Sicherung existiert.

Als nächstes gelangen wir auf die Specify Replicas Seite, in welcher wir nun alle Replikate angeben, welche Teil unserer Availiability Group sein sollen. Mit einem Klick auf add Replica fügen wir diese hinzu:

SSMS, Always On, Availability Group Wizard, Add Replica
SSMS, Always On, Availability Group Wizard, Add Replica

Unter dem Reiter Endpoint am oberen Rand geben wir den Port 5022 an. Sollten Sie über mehrere SQL Server Instanzen auf einem Server verfügen, muss hier gegebenenfalls ein anderer Port angegeben werden.

SSMS, Always On, Availability Group Wizard, Endpoints
SSMS, Always On, Availability Group Wizard, Endpoints

Der nächste Reiter ist für die Sicherungseinstellungen. Hier können wir auswählen, wo unsere Sicherungen ausgeführt werden sollen.

Prefer Secondary

Gibt an, dass Sicherungen auf einem sekundären Replikat erfolgen müssen, außer wenn es sich beim primären Replikat um das einzige Onlinereplikat handelt. In diesem Fall muss die Sicherung auf dem primären Replikat erfolgen. Dies ist die Standardoption.

Secondary only

Gibt an, dass Sicherungen nie auf dem primären Replikat ausgeführt werden dürfen. Wenn es sich beim primären Replikat um das einzige Onlinereplikat handelt, darf keine Sicherung erfolgen.

Primary

Gibt an, dass die Sicherungen immer auf dem primären Replikat erfolgen müssen. Diese Option ist hilfreich, wenn Sie Sicherungsfunktionen benötigen, z. B. das Erstellen differenzieller Sicherungen, die nicht unterstützt werden, wenn die Sicherung auf einem sekundären Replikat ausgeführt wird.

Any Replica

Gibt an, dass Sicherungsaufträge die Rolle der Verfügbarkeitsreplikate ignorieren sollen, wenn sie das Replikat zum Durchführen der Sicherungen auswählen. Sicherungsaufträge können andere Faktoren auswerten, wie z. B. die Sicherungspriorität jedes Verfügbarkeitsreplikats in Verbindung mit seinem Betriebszustand und Verbindungsstatus.

SSMS, Always On, Availability Group Wizard, Backup Preferences
SSMS, Always On, Availability Group Wizard, Backup Preferences

Der nächste Reiter auf der Seite ist der für den Listener. Hier wählen wir Create an availability group listener. Hier geben wir den DNS-Namen ein, der anschließend in der Anwendungsverbindungszeichenfolge verwendet wird. Wir vergeben den Port 1433 und geben die IP-Adresse für unseren Listener ein. Dies sollte eine nicht verwendete IP-Adresse in Ihrem Netzwerk sein:

SSMS, Always On, Availability Group Wizard, Listener
SSMS, Always On, Availability Group Wizard, Listener

Der letzte Reiter ist Read-Only Routing. Dies wird verwendet, wenn SQL Server schreibgeschützte Verbindungen zu einem sekundären Replikat leiten soll. Diese Funktion muss über eine Routing-URL und eine schreibgeschützte Routing-Liste verfügen. Innerhalb des Assistenten können wir die Routing-URL angeben, die Routing-Liste können wir jedoch zu diesem Zeitpunkt noch nicht angeben. Um die Routingliste anzugeben, müssen wir die Eigenschaften der AlwaysOn-Gruppe nach ihrer Erstellung öffnen oder mit TSQL oder PowerShell hinzufügen

Wir fahren fort und klicken auf Next

Als nächstes kommen wir auf die Seite Select Initial Data Synchronization. Wir wählen hier die Option Automatic seeding aus, damit SQL Server automatisch auf allen Replikaten die gewünschten Datenbanken erstellt.

Automatic seeding

SQL Server erstellt die sekundären Replikate für jede Datenbank in der Gruppe automatisch. Automatisches Seeding erfordert, dass die Pfade für Daten- und Protokolldateien für jede SQL Server-Instanz der Gruppe identisch sind. Verfügbar auf SQL Server 2016 (13.x) und höher.

Full database and log backup

Für jede primäre Datenbank werden mit der Option Vollständige Datenbank- und Protokollsicherung mehrere Vorgänge in einem Workflow ausgeführt: Erstellen einer vollständigen und Protokollsicherung der primären Datenbank, Erstellen der entsprechenden sekundären Datenbanken durch Wiederherstellen dieser Sicherungen auf jeder Serverinstanz, die ein sekundäres Replikat hostet, und Verknüpfen jeder sekundären Datenbank mit der Verfügbarkeitsgruppe.

Join only

Aktivieren Sie diese Option nur, wenn die neuen sekundären Datenbanken bereits auf jeder Serverinstanz vorhanden sind, die ein sekundäres Replikat für die Verfügbarkeitsgruppe hostet.

Wenn Sie Nur verknüpfen auswählen, versucht der Assistent, jede vorhandene sekundäre Datenbank mit der Verfügbarkeitsgruppe zu verknüpfen.

Skip initial data synchronization

Aktivieren Sie diese Option, wenn Sie eigene Datenbank- und Protokollsicherungen für jede primäre Datenbank ausführen und diese auf jeder Serverinstanz, die ein sekundäres Verfügbarkeitsreplikat hostet, wiederherstellen möchten. Nach dem Beenden des Assistenten müssen Sie jede sekundäre Datenbank auf jedem sekundären Replikat verknüpfen.

SSMS, Always On, Availability Group Wizard, Synchronization Preference
SSMS, Always On, Availability Group Wizard, Synchronization Preference

Als letzten Schritt stellen wir sicher, dass unsere Validierungsprüfungen erfolgreiche Ergebnisse liefern. Ist dies der Fall, haben wir es fast geschafft.

SSMS, Always On, Availability Group Wizard, Validation
SSMS, Always On, Availability Group Wizard, Validation

Auf der Summary Seite können wir nun noch einmal überprüfen, ob unsere Konfiguration korrekt ist.

Ist hier nun alles zu unserer Zufriedenheit und treten keine weiteren Fehler auf, können wir unsere Availability Group mit einem Klick auf Finish erfolgreich erstellen.

SSMS, Always On
SSMS, Always On

Mit einem Rechtsklick auf unsere Availability Group können wir die Option Show Dashboard auswählen. Es öffnet sich ein von SSMS bereitgestelltes Dashboard mit dem wir den Zustand und die Gesundheit unserer Group überwachen können:

Mainzer Datenfabrik - Always On Availability Group mit 2 Knoten Installation auf SQL Server 2022

Fazit

In dieser Schritt-für-Schritt Anleitung haben wir gelernt, wie wir eine Always On High Availability Group einrichten.

Wenn Sie mehr zu diesem Thema erfahren möchten, stehen Ihnen unsere erfahren Expert:innen bei Rückfragen zur Verfügung. Kontaktieren Sie uns dafür gerne über unser Kontaktformular.

Interesse geweckt?

Unsere Expert:innen stehen Ihnen bei allen Fragen rund um Ihre IT Infrastruktur zur Seite.

Kontaktieren Sie uns gerne über das Kontaktformular und vereinbaren ein unverbindliches Beratungsgespräch mit unseren Berater:innen zur Bedarfsevaluierung. Gemeinsam optimieren wir Ihre Umgebung und steigern Ihre Performance!
Wir freuen uns auf Ihre Kontaktaufnahme!

Taunusstraße 72
55118 Mainz
info@madafa.de
+49 6131 3331612
Bürozeiten
Montag bis Donnerstag:
9:00 - 17:00 Uhr MEZ

Freitags:
9:30 - 14:00 Uhr MEZ
Wir sind Ihre SQL Expert:innen!
Noch Fragen? - Wir haben immer die passende Antwort für Sie!