man wearing white and black plaid button-up sports shirt pointing the silver MacBook
|

SQL Server Always On: Schutz vor Datenverlust mit Verfügbarkeitsgruppen – Teil 1

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Hinter „Always On“ im SQL Server verbirgt sich die Frage, die viele Datenbankadministratoren und Unternehmen beschäftigt, die nach leistungsstarken und hochverfügbaren Datenbanklösungen suchen. „Always On“ ist der Marketingbegriff für den Microsoft SQL Server, hinter dem sich in den letzten Jahren eine der führenden Lösungen für Hochverfügbarkeit und Disaster Recovery entwickelt hat. Mit „Always On“ können Unternehmen gewährleisten, dass ihre SQL Server-Datenbanken nahezu ohne Unterbrechungen betrieben werden können. Diese verschiedenen Hochverfügbarkeitslösungen – wie die Verfügbarkeitsgruppen oder das Failover Cluster – bieten eine umfassende Palette von Funktionen, die den Schutz vor Datenverlust und die kontinuierliche Verfügbarkeit der Datenbanken sicherstellen.

Welche Vorteile bietet „Always On“?

Die Funktionen von „Always On“ umfassen hauptsächlich zwei Hauptfunktionen: Verfügbarkeitsgruppen (Availability Groups) und Failover-Clusterinstanzen, sowie je nach Version und Edition zusätzliche Optionen in beiden Lösungen, um verschiedene Szenarien und Anforderungen zu erfüllen, wie zum Beispiel sekundäre lesbare Replikate und mehr. Mit diesen Funktionen können unterschiedliche Szenarien abgedeckt werden, angefangen bei lokalen Hochverfügbarkeitslösungen bis hin zur Integration von Azure SQL in der Cloud.

In diesem Blogbeitrag wird ein tiefer Einblick in „Always On“ im SQL Server geboten. Dabei werden die grundlegenden Konzepte, bewährte Verfahren und wichtige Aspekte dieser Technologie vorgestellt. Ob Sie ein erfahrener Datenbankadministrator sind oder gerade erst in die Welt des SQL Server eintauchen – diese Informationen vertiefen Ihr Verständnis für Hochverfügbarkeit und Disaster Recovery in der Datenbankverwaltung.

In der heutigen Geschäftswelt ist der Schutz vor Datenverlust von entscheidender Bedeutung, da Daten das Herzstück moderner Unternehmen bilden. Im Bereich des Microsoft SQL Servers gibt es leistungsstarke Lösungen, die Ihnen bei diesem Schutz helfen können: SQL Server Always On mit Verfügbarkeitsgruppen. In diesem Blogbeitrag wird eine Serie gestartet, in der der SQL Server, die damit verbundenen Aufgaben und Erfahrungen mit den einzelnen Lösungen behandelt werden. Der erste Schritt ist die Erläuterung und Einrichtung von Always On Availability Groups.

Schema einer SQL Server Always On Lösung mit Verfügbarkeitsgruppen

Verfügbarkeitsgruppen: Die erste Verteidigungslinie

Datenverlust kann aus verschiedenen Gründen auftreten, wie Serverausfälle, Hardwarefehler, geplante Wartungsarbeiten und mehr. SQL Server Always On mit Verfügbarkeitsgruppen stellt die erste Verteidigungslinie gegen solche Katastrophen dar.

Was sind Verfügbarkeitsgruppen?

Kurz gesagt handelt es sich bei Verfügbarkeitsgruppen um Gruppen von Datenbanken, die als Einheit behandelt werden. Sie gewährleisten, dass Ihre Daten immer verfügbar sind, unabhängig von den Umständen. Wenn ein Server ausfällt, übernimmt ein anderer Server nahtlos die Arbeit, wodurch Datenverlust minimiert wird, und Ihre Anwendungen scheinbar ungestört weiterlaufen.

Die Marketing-Erklärung von Microsoft besagt, dass ein anderer Server die Arbeit nahtlos übernimmt. In der Realität führt die eingesetzte Technologie des SQL Servers zu einer so drastischen Reduzierung der Ausfallzeit, dass der Umschaltvorgang letztendlich nur wenige Sekunden dauert. Weitere Informationen zu diesem Thema werden im Verlauf dieser Serie veröffentlicht.

Beginnen wir mit den Grundlagen und wichtigen Begriffen:

Verfügbarkeits-Gruppe / Availability Group

Unter einer Verfügbarkeits-Gruppe oder auch Availability-Group versteht man einen (logischen) Zusammenschluss mehrer Datenbanken innerhalb einer Gruppe, die im Fehlerfall gemeinsam „schwenken“. Also mehrere Datenbanken, die über eine Verfügbarkeits-Gruppe hochverfügbar abgebildet werden.

Verfügbarkeits-Datenbank / Availability Database

Eben eine Datenbank, die Bestandteil einer Availability-Group sind. Im Folgenden werden wir dabei über die primäre und die sekundär(en) Datenbank(en) sprechen. Kurze Form: Die primäre Datenbank befindet sich immer im read-write-Modus, und die sekundären Datenbanken im read-only-Modus.

Primärer und Sekundäre (Server) / Primary and Secondary (Servers)

Wie eben bereits beschrieben, gibt es einen primären Server und einen (oder mehrere) SQL Server, die als sekundäre Server agieren. Auf dem primären Server werden alle schreibenden und lesenden Aktivitäten ausgeführt, auf dem/den sekundären Server(en) nur die lesenden Zugriffe.

Replikat(e) / Replica(s)

Alle sekundären Server und deren Verfügbarkeits-Datenbanken werden auch als Replikate bezeichnet, diese werden durch den primären Server – je nach Konfiguration – synchron oder asynchron aktuell gehalten. Es können bis zu 8 Replikate der Datenbanken mit dem primären Replikat verbunden werden und somit eine Art „Loadbalancing“ realisieren.

Listener

Der Listener ist im Grunde nichts anderes als ein DNS-Name mit einer IP-Adresse, der auf eben diese Verfügbarkeits-Gruppe zeigt und somit am Client als Verbindungsparameter der hochverfügbaren Lösung dient. Über den Listener können auch „Routen“ konfiguriert werden, dass eben lesende Zugriffe auf andere Replikate umgeleitet werden könnten.

Mehr zu den Grundlagen der Verfügbarkeits-Gruppen findet man natürlich bei Microsoft in der Dokumentation.

Einrichtung von Verfügbarkeitsgruppen

Die Einrichtung von Verfügbarkeitsgruppen in SQL Server Always On ist ein kritischer Schutzmechanismus gegen Datenverlust. Wenn Sie Ihre Datenbanken mit dieser Technologie konfigurieren, können Sie sicherstellen, dass Ihre Daten immer verfügbar sind und Ihr Unternehmen vor den schwerwiegenden Folgen von Datenverlust schützen. In den kommenden Teilen dieser Blogserie werden weitere Details zur Konfiguration von SQL Server Always On mit Verfügbarkeitsgruppen behandelt. Bleiben Sie dran, um Ihr Wissen über dieses wichtige Thema zu vertiefen.

Schritt 1: Voraussetzungen prüfen

Bevor Sie mit der Einrichtung beginnen, ist es entscheidend sicherzustellen, dass Ihr SQL Server-System die Anforderungen für Verfügbarkeitsgruppen erfüllt. Dies umfasst die richtige Lizenzierung und die Konfiguration von Failover-Clustern, unter anderem. Da sich diese Anforderungen mit den verschiedenen Versionen und Editionen gelegentlich ändern, empfehle ich, die aktuellsten Informationen in der offiziellen Microsoft-Dokumentation nachzuschlagen.

Die grobe Darstellung der Voraussetzungen sieht so aus: Sie benötigen zwei eigenständige SQL Server, die idealerweise identisch aufgebaut und ausgestattet sind. Diese beiden Server werden über den Windows Failover Cluster-Dienst miteinander verbunden, um die Hochverfügbarkeit mithilfe von Verfügbarkeitsgruppen zu aktivieren.

Enable Always On Availability Groups at SQL Server Service via SQL Configuration Manager

Ein weiterer Schritt besteht darin, zusätzliche Spiegelungs-Endpunkte auf beiden SQL Servern zu definieren, damit sie miteinander kommunizieren können. Danach können Sie mit der eigentlichen Einrichtung der Verfügbarkeitsgruppen beginnen.

-- Run this on both nodes to create your Endpoint
CREATE ENDPOINT hadr_aoag  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 5022 )  
    FOR DATABASE_MIRRORING (ROLE=PARTNER);  
GO

Schritt 2: Verfügbarkeitsgruppen erstellen

Erstellen Sie Verfügbarkeitsgruppen, die Ihre Datenbanken einschließen. Wählen Sie die Datenbanken aus, die Sie schützen möchten, und definieren Sie die Replikate, die an der Gruppe teilnehmen sollen.

Es gibt verschiedene Möglichkeiten, eine neue Verfügbarkeitsgruppe zu erstellen. Sie können den Assistenten in der SQL Server Management Studio-GUI verwenden, T-SQL-Statements verwenden oder sich, je nach Ihrem Geschick, für PowerShell entscheiden. Ich persönlich bevorzuge PowerShell und das dbatools-PowerShell-Modul, um die meisten Aufgaben am SQL Server zu verwalten. Hier ist ein Beispiel, wie Sie eine neue Verfügbarkeitsgruppe mit PowerShell erstellen können:

New-DbaAvailabilityGroup -Primary SQL01 -Secondary SQL02 -Name AG1 -Database DemoDB -ClusterType None -SeedingMode Automatic -FailoverMode Manual

Dieser Befehl überprüft im Hintergrund, ob alle erforderlichen Voraussetzungen erfüllt sind, erstellt die erforderlichen Berechtigungen, Endpunkte und mehr. Bei erfolgreicher Ausführung haben Sie eine neue Verfügbarkeitsgruppe auf den SQL Servern erstellt.

Schritt 3: Konfigurieren der Endpunkte

Die Konfiguration der Endpunkte kann zu Beginn etwas verwirrend erscheinen, da Sie zwei verschiedene Arten von Endpunkten benötigen, die beide entscheidend für den Betrieb sind:

  1. Die Spiegelungs-Endpunkte dienen der Kommunikation zwischen den Knoten. Über diese Endpunkte (in unserem obigen Beispiel über Port 5022) erfolgt der gesamte Datentransfer zwischen dem primären und den sekundären Replikaten.
  2. Der Listener-Endpunkt ermöglicht die Kommunikation zwischen den Anwendungen und den entsprechenden Replikaten. Der Listener ist mehr als nur ein DNS-Name; er übernimmt auch das Workload-Routing, einschließlich Read-/Write-Intents.

Die offizielle SQL Server Availability-Group-Dokumentation bietet weitere Informationen zur Einrichtung und Konfiguration dieser Endpunkte.

Dokumentation zur Administration von Availability Groups

Schritt 4: Failover testen

Sobald alles erfolgreich eingerichtet ist und der Verfügbarkeitsgruppen-Monitor „grün“ zeigt, ist es entscheidend, das Handling des Systems zu erlernen und verschiedene Tests und Szenarien durchzuspielen. Führen Sie Tests durch, um manuelle Failovers zu simulieren, Netzwerkstörungen zu provozieren, den Netzstecker zu ziehen, sich mit Firewallschwierigkeiten auseinanderzusetzen und verschiedene Backup-Szenarien zu testen. Dokumentieren Sie diese Tests gründlich.

Abschließende Gedanken

Die Einrichtung von Verfügbarkeitsgruppen in SQL Server Always On ist ein entscheidender Schutzmechanismus gegen Datenverlust. Durch die Konfiguration Ihrer Datenbanken mit dieser Technologie können Sie sicherstellen, dass Ihre Daten stets verfügbar sind und Ihr Unternehmen vor den schwerwiegenden Folgen von Datenverlust schützen.

In den kommenden Teilen dieser Blogserie werden weitere Details zur Konfiguration von SQL Server Always On mit Verfügbarkeitsgruppen behandelt. Bleiben Sie dran, um Ihr Wissen über dieses wichtige Thema zu vertiefen.

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.