SQL Server AlwaysOn Availability Groups ist eine Technologie, die ursprünglich von Microsoft mit SQL Server 2012 veröffentlicht wurde.

Das Hauptkonzept, ist, dass Sie Ihre Daten in mehr als einem Standort gleichzeitig verfügbar haben. Zu diesem Zweck haben Sie Gruppen von Datenbanken, die über primäre Replikate und sekundäre Replikate verfügen. Diese Replikate werden auf verschiedenen Servern gehostet und können in zwei Modi synchronisiert werden:

  • Asynchronous-Commit Availability Mode
  • Synchronous-Commit Availability Mode

Verfügbarkeitsgruppen Asynchronous-Commit Mode

Beim Asynchronous-Commit Mode wird das sekundäre Replikat nie vollständig mit dem primären Replikat synchronisiert. Der Grund dafür ist, dass aufgrund der asynchronen Commit-Natur jede sekundäre Datenbank zu jedem Zeitpunkt hinterherhinken könnte. Das heißt, wenn Sie den asynchronen Commit-Modus verwenden und einen erzwungenen Failover durchführen (dies ist die einzige Form des Failovers, die Sie durchführen können), dann ist ein Datenverlust sehr wahrscheinlich.

Verfügbarkeitsgruppen Synchronous-Commit-Modus

Beim synchronen Commit-Modus holt eine sekundäre Datenbank nach dem Beitritt zu einer Verfügbarkeitsgruppe die entsprechende Datenbank ein und geht in den Zustand „Synchronisiert“ über. Voraussetzung dafür ist natürlich, dass die Datensynchronisation (und damit die Datenbewegung) weiterläuft und nicht aus irgendeinem Grund gestoppt wird (z. B. Netzwerkprobleme, Festplattenplatzprobleme usw.). Wenn die Datensynchronisation weiterläuft und der Synchron-Commit-Modus verwendet wird, dann ist jede Transaktion, die in einer bestimmten primären Datenbank committed wird, auch in der sekundären Datenbank committed worden.

Beispiel für eine SQL Server Always On Availability Groups-Architektur

Das folgende Diagramm veranschaulicht die Einrichtung einer 2-Knoten-Replik mit SQL Server Always On Availability Groups.

Was sind SQL Server Always On Availability Groups? - Artikel auf SQLNetHub
Sind Sie ein SQL Server DBA? Lernen Sie mehr über SQL Server in unserem Kurs „Essential SQL Server Administration Tips“.

Lassen Sie uns die im obigen Architekturdiagramm dargestellten Konzepte weiter diskutieren.

Diskussion und Empfehlungen

Eine Sache, die sehr wichtig zu beachten ist, ist, dass, basierend auf der Availability Groups Architektur, jedes Replikat, seinen eigenen dedizierten Speicher hat, dies ist schließlich der Weg, um Ihre Daten an mehreren Standorten verfügbar zu haben. Dies basiert auf dem Prinzip der Redundanz.

Ich habe einen Geo-Cluster mit 2 Knoten an 2 verschiedenen Standorten, Standort A und Standort B. An jedem Standort habe ich ein Replikat meiner SQL Server Availability Groups. Im obigen Beispiel habe ich auf Site A meine primären Replikate und auf Site B meine sekundären Replikate. Wie bereits erwähnt, können meine Replikate entweder mit synchronem oder asynchronem Commit synchronisiert werden.

Ein weiterer wichtiger Punkt ist, dass Sie, wenn Sie wirklich Hochverfügbarkeit erreichen wollen, eine dritte Site benötigen, um als File Share Witness zu fungieren. Deshalb habe ich in meinem obigen Diagramm eine dritte Site eingefügt, nämlich Site C, die eine Dateifreigabe bereitstellt, um als File Share Witness für den Geo-Cluster verwendet zu werden.

Wie verbinde ich meine Anwendung mit einer Datenbank in einer SQL Server-Verfügbarkeitsgruppe?

Wenn Sie neu in SQL Server-Verfügbarkeitsgruppen sind, fragen Sie sich vielleicht: „Wie wird sich meine Anwendung mit der Datenbank verbinden?“. Nun, keine Sorge, denn dies ist sehr einfach. Jede Availability Group hat ihren eigenen Listener (ein Paar aus virtuellem Netzwerknamen und virtueller IP), den Sie bei der Erstellung einer Availability Group einrichten müssen. In der Konfiguration der Verbindungszeichenfolge für Ihre Anwendung müssen Sie diesen Listener-Namen/IP und seine Portnummer eingeben, damit Ihre Anwendung die Datenbank(en) in der spezifischen Availability Group „sehen“ kann. Danach ist die zugrunde liegende Hochverfügbarkeitsarchitektur für Ihre Anwendung transparent.

Ein wichtiger Hinweis an dieser Stelle: Sie sollten Availability Groups nur dann für Ihre Lösung verwenden, wenn Ihre Lösung/Anwendung diese Hochverfügbarkeitsarchitektur unterstützt.

Was passiert bei einem Failover?

Ein Failover in einer SQL Server Availability Groups-Architektur ist anders (und schneller) als ein Failover in einer traditionellen SQL Server Failover Cluster Instance (FCI). Der Hauptunterschied besteht darin, dass bei einem Failover für eine SQL Server Availability Group nur der Besitzer des Listeners wechselt. Das bedeutet, dass nach dem Failover der Listener der spezifischen Verfügbarkeitsgruppe auf die andere Replik verweist, weil diese Replik zur neuen primären Replik wurde und die andere (die bis dahin die primäre war) zur sekundären Replik. All dies setzt natürlich voraus, dass beide Replikate synchronisiert sind.

Abschließende Bemerkungen

Wie Sie aus der obigen Diskussion und dem Beispiel sehen können, macht all dies SQL Server Always On zu einer sehr leistungsfähigen Hochverfügbarkeitslösung, die beim Entwurf von aktiv-aktiven Rechenzentren unbedingt berücksichtigt werden muss.

Zu guter Letzt sei darauf hingewiesen, dass es sich bei dem obigen Beispiel um eine vereinfachte Darstellung handelt, die Ihnen helfen soll, die Grundlagen von SQL Server Availability Groups zu verstehen und wie sie dazu beitragen, hochverfügbare SQL Server-Instanzen zu haben.

Mit dem Angebot von SQL Server Always On Availability Groups können Sie ausgefeilte Hochverfügbarkeits-Datenbanklösungen mit mehr als 2 Standorten aufbauen und so eine wirklich hochverfügbare Infrastruktur haben.

In den folgenden Artikeln werden wir weitere Themen zu SQL Server Always On Availability Groups besprechen, also bleiben Sie dran!

Steigern Sie Ihre SQL Server-Administrationsfähigkeiten – melden Sie sich zu unserem Online-Kurs an!

Wenn Sie wirklich anspruchsvolle SQL Server-Administrationstechniken erlernen wollen, dann sollten Sie sich unseren On-Demand-Online-Kurs „Essential SQL Server Administration Tips“ ansehen (spezieller, zeitlich begrenzter Rabatt im Link enthalten).

Im Kurs lernen Sie wesentliche praktische SQL Server-Administrationstipps zu den Themen SQL Server-Wartung, Sicherheit, Performance, Integration, Fehlerbehandlung und mehr. Viele Live-Demonstrationen und herunterladbare Ressourcen inklusive!

Wesentliche Tipps zur SQL Server-Administration - Online-Kurs mit Live-Demonstrationen und praktischen Anleitungen
SQL Server Administration Tips (lebenslanger Zugang – erfahren Sie mehr).

Jetzt mit Rabatt anmelden!

Ausgewählte Online-Kurse:

  • Boost SQL Server Database Performance with In-Memory OLTP
  • Essential SQL Server Administration Tips
  • SQL Server Fundamentals – SQL Database for Beginners
  • Essential SQL Server Development Tips for SQL Developers
  • The Philosophy and Fundamentals of Computer Programming
  • .NET-Programmierung für Einsteiger – Windows Forms mit C#
  • Einführung in Data Science und SQL Server Machine Learning
  • Einführung in Azure SQL Database für Einsteiger
  • SQL Server 2019: What’s New – New and Enhanced Features
  • Entity Framework: Erste Schritte – Vollständiger Leitfaden für Einsteiger
  • Wie man Daten in SQL Server-Datenbanken importiert und exportiert
  • Lernen Sie, wie Sie SQL Server in 30 Minuten installieren und verwenden
  • Ein Leitfaden zum Starten und Monetarisieren eines erfolgreichen Blogs

Verwandte Artikel zur SQL Server-Administration:

  • Wesentliche Tipps zur SQL-Server-Administration
  • Wie man eine eigenständige SQL-Server-Instanz patcht
  • Der SQL-Server-Browserdienst und UDP-Port 1434
  • Die Einstellung für die maximale Anzahl gleichzeitiger Verbindungen in SQL Server
  • Top 10 der täglichen Aufgaben von SQL Server-DBAs
  • Es ist kein SQL Server Failover Cluster verfügbar, dem man beitreten kann
  • Verschlüsseln einer SQL Server-Datenbanksicherung
  • …mehr

Bewerten Sie diesen Artikel: 1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (2 Stimmen, Durchschnitt: 5.00 von 5)

Laden…

Referenz: SQLNetHub.com (https://www.sqlnethub.com)

© SQLNetHub

Artemakis Artemiou ist ein Senior SQL Server Architect, Autor, ein 9-facher Microsoft Data Platform MVP (2009-2018) und ein Udemy Instructor. Er hat über 15 Jahre Erfahrung in der IT-Branche in verschiedenen Rollen. Artemakis ist der Gründer von SQLNetHub und TechHowTos.com. Artemakis ist der Schöpfer der bekannten Software-Tools Snippets Generator und DBA Security Advisor. Außerdem ist er Autor vieler eBooks über SQL Server. Artemakis ist derzeit Präsident der Cyprus .NET User Group (CDNUG) und der International .NET Association Country Leader für Zypern (INETA). Außerdem unterrichtet Artemakis auf Udemy, seine Kurse können Sie hier einsehen.

Views: 2.422

Schreibe einen Kommentar

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