Freigeben über


Was ist eine Always On-Verfügbarkeitsgruppe?

Gilt für: SQL Server

In diesem Artikel werden Konzepte der Always On-Verfügbarkeitsgruppen vorgestellt, die beim Konfigurieren und Verwalten von einer oder mehreren Verfügbarkeitsgruppen in der Enterprise-Edition von SQL Server von großer Bedeutung sind. Überprüfen Sie bei der Standard Edition die Always On-Verfügbarkeitsgruppen der Stufe Basic für eine einzelne Datenbank.

Die Funktion Always On-Verfügbarkeitsgruppen ist eine Lösung für hohe Verfügbarkeit und Notfallwiederherstellung, die eine Alternative zur Datenbankspiegelung auf Unternehmensebene bietet. Always On-Verfügbarkeitsgruppen maximieren die Verfügbarkeit eines Satzes von Benutzerdatenbanken für Unternehmen. Eine Verfügbarkeitsgruppe unterstützt eine Failoverumgebung für einen diskreten Satz von Benutzerdatenbanken (als Verfügbarkeitsdatenbankenbezeichnet), die zusammen ein Failover ausführen. Eine Verfügbarkeitsgruppe unterstützt einen Satz primärer Datenbanken mit Lese-/Schreibzugriff und einen bis acht Sätze entsprechender sekundärer Datenbanken. Optional können sekundäre Datenbanken für schreibgeschützten Zugriff und/oder einige Sicherungsvorgänge verfügbar gemacht werden.

Mit SQL Server mit Azure Arc-Unterstützung können Sie im Azure-Portal Verfügbarkeitsgruppen anzeigen.

Übersicht

Eine Verfügbarkeitsgruppe unterstützt eine replizierte Umgebung für einen diskreten Satz von Benutzerdatenbanken (als Verfügbarkeitsdatenbankenbezeichnet). Sie können eine Verfügbarkeitsgruppe zur Hochverfügbarkeit (HA) oder Leseskalierung einrichten. Eine HA-Verfügbarkeitsgruppe ist eine Gruppe von Datenbanken, die zusammen ein Failover ausführen. Eine Verfügbarkeitsgruppe zur Leseskalierung ist eine Gruppe von Datenbanken, die für eine schreibgeschützte Arbeitsauslastung auf andere Instanzen von SQL Server kopiert werden. Eine Verfügbarkeitsgruppe unterstützt einen Satz primärer Datenbanken und einen bis acht Sätze entsprechender sekundärer Datenbanken. Sekundäre Datenbanken sind keine Backups. Die Datenbanken und deren Transaktionsprotokolle sollten weiterhin regelmäßig gesichert werden.

Tipp

Von einer primären Datenbank können beliebige Sicherungstypen erstellt werden. Alternativ können Sie Protokollsicherungen und vollständige Kopiesicherungen von sekundären Datenbanken erstellen. Weitere Informationen finden Sie unter Auslagern von unterstützten Sicherungen auf sekundäre Replikate einer Verfügbarkeitsgruppe.

Jeder Satz von Verfügbarkeitsdatenbanken wird von einem Verfügbarkeitsreplikat gehostet. Es gibt zwei Arten von Verfügbarkeitsreplikaten: ein einzelnes primäres Replikat, das die primären Datenbanken hostet, sowie ein bis acht sekundäre Replikate, die jeweils einen Satz sekundärer Datenbanken hosten und als mögliche Failoverziele für die Verfügbarkeitsgruppe dienen. Eine Verfügbarkeitsgruppe führt auf der Ebene eines Verfügbarkeitsreplikats ein Failover aus. Ein Verfügbarkeitsreplikat gewährleistet nur Redundanz auf Datenbankebene, und zwar für die in einer Verfügbarkeitsgruppe enthaltenen Datenbanken. Failover werden nicht durch Datenbankprobleme verursacht, z. B. wenn eine Datenbank aufgrund eines Verlusts einer Datendatei oder der Beschädigung eines Transaktionsprotokolls fehlerverdächtig wird.

Das primäre Replikat stellt die primären Datenbanken für Lese-/Schreibverbindungen von Clients bereit. Vom primären Replikat werden Transaktionsprotokoll-Datensätze jeder primären Datenbank an jede sekundäre Datenbank gesendet. Dieser auch als Datensynchronisierung bezeichnete Prozess findet auf Datenbankebene statt. Die Transaktionsprotokoll-Datensätze werden von jedem sekundären Replikat zwischengespeichert (das Protokoll wirdfestgeschrieben ) und anschließend auf die entsprechende sekundäre Datenbank angewendet. Die Datensynchronisierung erfolgt zwischen der primären Datenbank und jeder verbundenen sekundären Datenbank unabhängig von den anderen Datenbanken. Daher kann eine sekundäre Datenbank angehalten werden oder einen Fehler verursachen, ohne andere sekundäre Datenbanken zu beeinträchtigen, und eine primäre Datenbank kann angehalten werden oder einen Fehler verursachen, ohne andere primäre Datenbanken zu beeinträchtigen.

Optional können Sie mindestens ein sekundäres Replikat konfigurieren, um schreibgeschützten Zugriff auf sekundäre Datenbanken zu unterstützen, und ein beliebiges sekundäres Replikat konfigurieren, um Sicherungen auf sekundären Datenbanken zuzulassen.

SQL Server 2017 führt zwei verschiedene Architekturen für Verfügbarkeitsgruppen ein. Always On-Verfügbarkeitsgruppen bieten Hochverfügbarkeit, Notfallwiederherstellung und Lastenausgleich für die Leseskalierung. Diese Verfügbarkeitsgruppen erfordern einen Cluster-Manager. Unter Windows wird der Cluster-Manager vom Failoverclustering-Feature bereitgestellt. Unter Linux können Sie Pacemaker verwenden. Die andere Architektur ist eine Verfügbarkeitsgruppe zur Leseskalierung. Eine Verfügbarkeitsgruppe zur Leseskalierung stellt Replikate für die schreibgeschützte Arbeitsauslastung bereit, jedoch nicht für die Hochverfügbarkeit. In einer Verfügbarkeitsgruppe mit Leseskalierung gibt es keinen Cluster-Manager, da das Failover nicht automatisch erfolgen kann.

Bei der Bereitstellung von Always On-Verfügbarkeitsgruppen für Hochverfügbarkeit unter Windows ist ein Windows Server-Failovercluster (WSFC) erforderlich. Jedes Verfügbarkeitsreplikat einer bestimmten Verfügbarkeitsgruppe muss sich in einem anderen Knoten desselben WSFC befinden. Die einzige Ausnahme besteht darin, dass sich eine Verfügbarkeitsgruppe während der Migration zu einem anderen WSFC-Cluster vorübergehend auf zwei Cluster erstrecken kann.

Hinweis

Informationen zu Verfügbarkeitsgruppen unter Linux finden Sie unter Verfügbarkeitsgruppen für SQL Server für Linux.

In einer HA-Konfiguration wird eine Clusterrolle für jede Verfügbarkeitsgruppe erstellt. Der WSFC-Cluster überwacht diese Rolle, um den Zustand des primären Replikats auszuwerten. Das Quorum für Always On-Verfügbarkeitsgruppen basiert auf allen Knoten des WSFC-Clusters, unabhängig davon, ob ein bestimmter Clusterknoten Verfügbarkeitsreplikate hostet. Anders als bei der Datenbankspiegelung ist in Always On-Verfügbarkeitsgruppen keine Zeugenrolle verfügbar.

Hinweis

Informationen zur Beziehung zwischen Always On-Komponenten für SQL Sever und dem WSFC-Cluster finden Sie unter Windows Server-Failoverclustering mit SQL Server.

In der folgenden Abbildung ist eine Verfügbarkeitsgruppe dargestellt, die ein primäres Replikat und vier sekundäre Replikate enthält. Es werden bis zu acht sekundäre Replikate unterstützt, einschließlich eines primären Replikats und vier sekundärer Replikate mit synchronem Commit.

Diagramm einer Verfügbarkeitsgruppe mit fünf Replikaten.

Begriffe und Definitionen

Begriff Beschreibung
Verfügbarkeitsgruppe Ein Container für eine Gruppe von Datenbanken ( Verfügbarkeitsdatenbanken), für die zusammen ein Failover ausgeführt wird.
Verfügbarkeitsdatenbank Eine Datenbank, die zu einer Verfügbarkeitsgruppe gehört. Für jede Verfügbarkeitsdatenbank verwaltet die Verfügbarkeitsgruppe eine einzelne Lese-/Schreibkopie (die primäre Datenbank) und eine bis acht schreibgeschützte Kopien (sekundäre Datenbanken).
Primäre Datenbank Die Lese-/Schreibkopie einer Verfügbarkeitsdatenbank.
Sekundäre Datenbank Eine schreibgeschützte Kopie einer Verfügbarkeitsdatenbank.
Verfügbarkeitsreplikat Eine Instanziierung einer Verfügbarkeitsgruppe, die von einer bestimmten Instanz von SQL Server gehostet wird und eine lokale Kopie jeder Verfügbarkeitsdatenbank beibehält, die zur Verfügbarkeitsgruppe gehört. Zwei Typen von Verfügbarkeitsreplikaten sind vorhanden: ein einzelnes primäres Replikat und ein bis acht sekundäre Replikate.
Primäres Replikat Das Verfügbarkeitsreplikat, das die primären Datenbanken für Lese-/Schreibverbindungen von Clients verfügbar macht und darüber hinaus Transaktionsprotokoll-Datensätze für jede primäre Datenbank an jedes sekundäre Replikat sendet.
Sekundäres Replikat Ein Verfügbarkeitsreplikat, das eine sekundäre Kopie jeder Verfügbarkeitsdatenbank beibehält und als potenzielles Failoverziel für die Verfügbarkeitsgruppe dient. Optional kann ein sekundäres Replikat schreibgeschützten Zugriff auf sekundäre Datenbanken und das Erstellen von Sicherungen für sekundäre Datenbanken unterstützen.
Verfügbarkeitsgruppenlistener Ein Servername, mit dem Clients eine Verbindung herstellen können, um auf eine Datenbank in einem primären oder sekundären Replikat einer Always On-Verfügbarkeitsgruppe zuzugreifen. Verfügbarkeitsgruppenlistener leiten eingehende Verbindungen an das primäre Replikat oder ein schreibgeschütztes sekundäres Replikat weiter.

Verfügbarkeitsdatenbanken

Zum Hinzufügen einer Datenbank zu einer Verfügbarkeitsgruppe muss die Datenbank eine Onlinedatenbank mit Lese-/Schreibzugriff auf der Serverinstanz sein, die das primäre Replikat hostet. Wenn Sie eine Datenbank hinzufügen, wird sie als primäre Datenbank mit der Verfügbarkeitsgruppe verknüpft, wobei sie für Clients verfügbar bleibt. Es ist keine entsprechende sekundäre Datenbank vorhanden, bis Sicherungen der neuen primären Datenbank mithilfe von RESTORE WITH NORECOVERY auf der Serverinstanz wiederhergestellt werden, die das sekundäre Replikat hostet. Die neue sekundäre Datenbank befindet sich im Status RESTORING, bis sie der Verfügbarkeitsgruppe hinzugefügt wird. Weitere Informationen finden Sie unter Starten der Datenverschiebung auf einer sekundären Always On-Datenbank (SQL Server).

Durch das Hinzufügen wechselt die sekundäre Datenbank in den Status ONLINE und initiiert die Datensynchronisierung mit der entsprechenden primären Datenbank. DieDatensynchronisierung ist der Prozess, durch den Änderungen an einer primären Datenbank auf einer sekundären Datenbank reproduziert werden. Bei der Datensynchronisierung sendet die primäre Datenbank Transaktionsprotokoll-Datensätze an die sekundäre Datenbank.

Wichtig

Eine Verfügbarkeitsdatenbank wird in Transact-SQL-, PowerShell- und SQL Server Management Objects-Namen (SMO) manchmal als Datenbankreplikat bezeichnet. Der Begriff „Datenbankreplikat“ wird z.B. in den Namen der dynamischen Always On-Verwaltungssichten verwendet, die Informationen zu Verfügbarkeitsdatenbanken zurückgeben: sys.dm_hadr_database_replica_states und sys.dm_hadr_database_replica_cluster_states. In der SQL Server-Onlinedokumentation bezieht sich der Begriff "Replikat" jedoch in der Regel auf Verfügbarkeitsreplikate. Zum Beispiel sind mit "primäres Replikat" und "sekundäres Replikat" stets Verfügbarkeitsreplikate gemeint.

Verfügbarkeitsreplikate

Jede Verfügbarkeitsgruppe definiert einen Satz von zwei oder mehr Failoverpartnern, bekannt als Verfügbarkeitsreplikate. Verfügbarkeitsreplikate sind Komponenten der Verfügbarkeitsgruppe. Jedes Verfügbarkeitsreplikat hostet eine Kopie der Verfügbarkeitsdatenbanken in der Verfügbarkeitsgruppe. Die Verfügbarkeitsreplikate der jeweiligen Verfügbarkeitsgruppe müssen von separaten SQL Server-Instanzen gehostet werden, die sich in unterschiedlichen Knoten eines WSFC-Clusters befinden. Jede der Serverinstanzen muss für Always On aktiviert sein.

In SQL Server 2019 (15.x) wird die maximale Anzahl der synchronen Replikate von ehemals 3 in SQL Server 2017 (14.x) auf 5 erhöht. Sie können diese Gruppe aus fünf Replikaten für das automatische Failover in der Gruppe konfigurieren. Es gibt ein primäres Replikat sowie vier synchrone sekundäre Replikate.

Eine Instanz kann nur ein Verfügbarkeitsreplikat pro Verfügbarkeitsgruppe hosten. Allerdings kann jede Instanz für zahlreiche Verfügbarkeitsgruppen verwendet werden. Eine Instanz kann entweder eine eigenständige Instanz oder eine SQL Server-Failoverclusterinstanz (FCI) sein. Falls Sie Redundanz auf Serverebene benötigen, verwenden Sie Failoverclusterinstanzen.

Allen Verfügbarkeitsreplikaten wird eine Anfangsrolle zugewiesen: entweder die primäre Rolle oder die sekundäre Rolle, die von den Verfügbarkeitsdatenbanken dieses Replikats geerbt wird. Die Rolle eines bestimmten Replikats legt fest, ob Datenbanken mit Lese-/Schreibzugriff oder schreibgeschützte Datenbanken gehostet werden. Einem als primäres Replikatbezeichneten Replikat wird die primäre Rolle zugewiesen. Es hostet Datenbanken mit Lese-/Schreibzugriff, die als primäre Datenbankenbezeichnet werden. Mindestens einem anderen Replikat, das als sekundäres Replikatbezeichnet wird, wird die sekundäre Rolle zugewiesen. Ein sekundäres Replikat hostet schreibgeschützte Datenbanken, sogenannte sekundäre Datenbanken.

Hinweis

Wenn die Rolle eines Verfügbarkeitsreplikats unbestimmt ist, z. B. während eines Failovers, befinden sich seine Datenbanken vorübergehend im NOT SYNCHRONIZING-Status. Ihre Rolle wird auf RESOLVING festgelegt, bis die Rolle des Verfügbarkeitsreplikats aufgelöst wurde. Wird ein Verfügbarkeitsreplikat zur primären Rolle aufgelöst, werden seine Datenbanken zu primären Datenbanken. Wird ein Verfügbarkeitsreplikat zur sekundären Rolle aufgelöst, werden seine Datenbanken sekundäre Datenbanken.

Verfügbarkeitsmodi

Der Verfügbarkeitsmodus ist eine Eigenschaft jedes Verfügbarkeitsreplikats. Der Verfügbarkeitsmodus legt fest, ob das primäre Replikat mit dem Commit der Transaktionen für eine Datenbank wartet, bis ein bestimmtes sekundäres Replikat die Transaktionsprotokoll-Datensätze auf den Datenträger geschrieben hat. Always On-Verfügbarkeitsgruppen unterstützen zwei Verfügbarkeitsmodi: den Modus für asynchrone Commits und den Modus für synchrone Commits.

  • Asynchronous-commit mode

    Ein Verfügbarkeitsreplikat, das diesen Verfügbarkeitsmodus verwendet, wird als Replikat mit asynchronem Commit bezeichnet. Im Modus für asynchrone Commits führt das primäre Replikat einen Commit für Transaktionen aus, ohne auf die Bestätigung von einem sekundären Replikat mit asynchronem Commit zu warten, um die Transaktionsprotokolle festzuschreiben. Im Modus für asynchrone Commits wird die Transaktionswartezeit auf den sekundären Datenbanken minimiert. Dabei liegen sie jedoch möglicherweise hinter den primären Datenbanken zurück, was Datenverluste zur Folge haben kann.

  • Synchronous-commit mode

    Ein Verfügbarkeitsreplikat, das diesen Verfügbarkeitsmodus verwendet, wird als Replikat mit synchronem Commitbezeichnet. Im Modus für synchrone Commits wartet ein primäres Replikat mit synchronen Commits vor dem Commit für Transaktionen auf ein sekundäres Replikat mit synchronen Commits, um zu bestätigen, dass das Schreiben des Protokolls abgeschlossen wurde. Im Modus für synchrone Commits wird sichergestellt, dass Transaktionen, für die ein Commit ausgeführt wird, vollständig geschützt sind, sobald eine angegebene sekundäre Datenbank mit der primären Datenbank synchronisiert wird. Dieser Schutz führt jedoch zu einer erhöhten Transaktionswartezeit. Optional wurde mit SQL Server 2017 das Feature Erforderliche synchronisierte sekundäre Replikate eingeführt, um die Sicherheit ggf. weiterhin auf Basis der Latenz zu optimieren. Das Feature REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT kann aktiviert werden, um eine angegebene Anzahl von synchronen Replikaten zum Committen einer Transaktion anzufordern, bevor ein primäres Replikat einen Commit durchführen darf.

Weitere Informationen finden Sie unter Unterschiede zwischen den Verfügbarkeitsmodi von Always On-Verfügbarkeitsgruppen.

Failover-Arten

Im Kontext einer Sitzung zwischen dem primären Replikat und einem sekundären Replikat sind die primären und sekundären Rollen in einem als Failoverbezeichneten Prozess potenziell austauschbar. Während eines Failovers geht das sekundäre Zielreplikat in die primäre Rolle über und wird dadurch zum neuen primären Replikat. Das neue primäre Replikat schaltet seine Datenbanken als primäre Datenbanken online. Clientanwendungen können eine Verbindung mit ihnen herstellen. Wenn das zuvor primäre Replikat verfügbar ist, geht es in die sekundäre Rolle über und wird dadurch zu einem sekundären Replikat. Die zuvor primären Datenbanken werden sekundäre Datenbanken, und die Datensynchronisierung wird fortgesetzt.

Eine Verfügbarkeitsgruppe führt auf der Ebene eines Verfügbarkeitsreplikats ein Failover aus. Failover werden nicht durch Datenbankprobleme verursacht, z. B., wenn eine Datenbank aufgrund eines Verlusts einer Datendatei, des Löschens einer Datenbank oder der Beschädigung eines Transaktionsprotokolls, verdächtig wird.

Man unterscheidet drei Failovertypen: automatisches Failover, manuelles Failover und erzwungenes Failover (mit möglichem Datenverlust). Die von einem bestimmten sekundären Replikat unterstützten Failovertypen hängen von seinem Verfügbarkeitsmodus und beim Modus für synchrone Commits vom Failovermodus für das primäre Replikat und das sekundäre Zielreplikat ab:

  • Der Modus für synchrone Commits unterstützt die beiden Failovertypen geplantes manuelles Failover und automatisches Failover, wenn das sekundäre Zielreplikat zum gegebenen Zeitpunkt mit dem primären Replikat synchronisiert wird. Die Unterstützung für diese Formen des Failovers hängt von der Einstellung der Failovermoduseigenschaft der Failoverpartner ab. Ist der Failovermodus für das primäre oder sekundäre Replikat auf "manuell" festgelegt, wird nur ein manuelles Failover für dieses sekundäre Replikat unterstützt. Ist der Failovermodus für das primäre und sekundäre Replikat auf "automatisch" festgelegt, wird sowohl das automatische als auch das manuelle Failover auf diesem sekundären Replikat unterstützt.

    • Geplantes manuelles Failover (ohne Datenverlust)

      Ein manuelles Failover erfolgt nach der Ausgabe eines Failoverbefehls durch einen Datenbankadministrator. Es verursacht den Übergang eines synchronisierten sekundären Replikats in die primäre Rolle (mit garantiertem Datenschutz) und den Übergang des primären Replikats in die sekundäre Rolle. Ein manuelles Failover erfordert, dass sowohl das primäre Replikat als auch das sekundäre Zielreplikat im Modus für synchrone Commits ausgeführt wird, und dass das sekundäre Replikat bereits synchronisiert wurde.

    • Automatisches Failover (ohne Datenverlust)

      Ein automatisches Failover tritt als Reaktion auf einen Fehler auf, der den Übergang eines synchronisierten Replikats in eine primäre Rolle (mit garantiertem Datenschutz) verursacht. Wenn das frühere primäre Replikat verfügbar wird, geht es in die sekundäre Rolle über. Für das automatische Failover ist erforderlich, dass sowohl das primäre Replikat als auch das sekundäre Zielreplikat im Modus für synchrone Commits mit einem auf Automatisch festgelegten Failovermodus ausgeführt werden. Darüber hinaus muss das sekundäre Replikat bereits synchronisiert sein, über ein WSFC-Quorum verfügen und die in der flexiblen Failoverrichtlinie der Verfügbarkeitsgruppe angegebenen Bedingungen erfüllen.

  • Im Modus für asynchrone Commits ist die einzige Form des Failovers ein erzwungenes manuelles Failover (mit möglichem Datenverlust), das in der Regel als erzwungenes Failoverbezeichnet wird. Erzwungenes Failover wird als eine Art manuelles Failover angesehen, da es nur manuell initiiert werden kann. Erzwungenes Failover ist eine Option zur Notfallwiederherstellung. Es ist auch der einzig mögliche Failovertyp, wenn das sekundäre Zielreplikat nicht mit dem primären Replikat synchronisiert ist.

Weitere Informationen finden Sie unter Failover und Failovermodi (Always On-Verfügbarkeitsgruppen).

Wichtig

  • SQL Server-Failoverclusterinstanzen (FCIs) unterstützen kein automatisches Failover durch Verfügbarkeitsgruppen. Daher können die Verfügbarkeitsreplikate, die von einer FCI gehostet werden, nur für manuelles Failover konfiguriert werden.
  • Wenn Sie einen Befehl für ein erzwungenes Failover für ein synchronisiertes sekundäres Replikat ausgeben, verhält sich das sekundäre Replikat genauso wie bei einem geplanten manuellen Failover.

Vorteile

Always On-Verfügbarkeitsgruppen stellen ein breites Spektrum von Optionen bereit, durch die die Datenbankverfügbarkeit verbessert und eine optimale Ressourcenverwendung ermöglicht werden. Die wichtigsten Komponenten sind:

Clientverbindungen

Sie können Clientkonnektivität für das primäre Replikat einer angegebenen Verfügbarkeitsgruppe bereitstellen, indem Sie einen Verfügbarkeitsgruppenlistener erstellen. Ein Verfügbarkeitsgruppenlistener stellt einen Satz von Ressourcen bereit, der an eine bestimmte Verfügbarkeitsgruppe angefügt wird, um Clientverbindungen an das entsprechende Verfügbarkeitsreplikat umzuleiten.

Ein Verfügbarkeitsgruppenlistener ist einem eindeutigen DNS-Namen, der als virtueller Netzwerkname (VNN) dient, mindestens einer virtuellen IP-Adresse (VIPs) und einer TCP-Portnummer zugeordnet. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Always On-Verfügbarkeitsgruppenlistener.

Tipp

Wenn eine Verfügbarkeitsgruppe nur zwei Verfügbarkeitsreplikate besitzt und nicht für den Lesezugriff auf das sekundäre Replikat konfiguriert ist, können Clients mithilfe einer Verbindungszeichenfolge für die Datenbankspiegelung eine Verbindung mit dem primären Verfügbarkeitsreplikat herstellen. Dieser Ansatz kann nach dem Migrieren einer Datenbank von der Datenbankspiegelung zu Always On-Verfügbarkeitsgruppen nützlich sein. Bevor Sie zusätzliche sekundäre Replikate hinzufügen, müssen Sie einen Verfügbarkeitsgruppenlistener für die Verfügbarkeitsgruppe erstellen und die Anwendungen aktualisieren, sodass der Netzwerkname des Listeners verwendet wird.

Aktive sekundäre Replikate

Always On-Verfügbarkeitsgruppen unterstützen aktive sekundäre Replikate. Die Funktionen für aktive sekundäre Replikate umfassen auch die Unterstützung für Folgendes:

  • Ausführen von Sicherungsvorgängen auf sekundären Replikaten

    Die sekundären Replikate unterstützen das Ausführen von Protokollsicherungen und Kopiesicherungen einer vollständigen Datenbank, Datei oder Dateigruppe. Sie können die Verfügbarkeitsgruppe konfigurieren, um eine Einstellung dafür anzugeben, wo Sicherungen ausgeführt werden sollen. Wichtig zu wissen: Die Einstellung wird nicht von SQL Server erzwungen und wirkt sich daher nicht auf Ad-hoc-Backups aus. Die Interpretation dieser Einstellung hängt von der Logik ab, die Sie ggf. per Skript in Sicherungsaufträge für alle Datenbanken in einer angegebenen Verfügbarkeitsgruppe integriert haben. Für einzelne Verfügbarkeitsreplikate können Sie die Priorität für die Ausführung von Sicherungen auf diesem Replikat in Relation zu den anderen Replikaten in derselben Verfügbarkeitsgruppe angeben. Weitere Informationen finden Sie unter Auslagern von unterstützten Sicherungen auf sekundäre Replikate einer Verfügbarkeitsgruppe.

  • Schreibgeschützter Zugriff auf ein oder mehrere sekundäre Replikate (lesbare sekundäre Replikate)

    Alle sekundären Verfügbarkeitsreplikate können so konfiguriert werden, dass nur schreibgeschützter Zugriff auf die lokalen Datenbanken zulässig ist, obwohl einige Vorgänge nicht vollständig unterstützt werden. Dadurch werden Verbindungsversuche mit Lese-/Schreibzugriff auf das sekundäre Replikat verhindert. Es ist auch möglich, schreibgeschützte Workloads auf dem primären Replikat zu verhindern, indem nur Lese-/Schreibzugriff zugelassen wird. Dadurch wird verhindert, dass schreibgeschützte Verbindungen mit dem primären Replikat hergestellt werden. Weitere Informationen finden Sie unter Auslagern von schreibgeschützten Arbeitsauslastungen auf ein sekundäres Replikat einer Always On-Verfügbarkeitsgruppe.

    Wenn eine Verfügbarkeitsgruppe derzeit einen Verfügbarkeitsgruppenlistener und mindestens ein lesbares sekundäres Replikat besitzt, können Verbindungsanforderungen für beabsichtigte Lesevorgänge von SQL Server an eines dieser Replikate weitergeleitet werden (schreibgeschütztes Routing). Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Always On-Verfügbarkeitsgruppenlistener.

Sitzungstimeout

Das Sitzungstimeout ist eine Eigenschaft von Verfügbarkeitsreplikaten, die bestimmt, wie lange eine Verbindung mit einem anderen Verfügbarkeitsreplikat inaktiv sein darf, bevor die Verbindung geschlossen wird. Die primären und sekundären Replikate signalisieren einander mithilfe von Pingbefehlen, dass sie noch aktiv sind. Durch den Empfang eines Pings von einem anderen Replikat innerhalb des Timeoutzeitraums wird angegeben, dass die Verbindung weiterhin geöffnet ist und dass die Serverinstanzen miteinander kommunizieren. Beim Empfang eines Pings setzt ein Verfügbarkeitsreplikat seinen Sitzungstimeoutzähler für diese Verbindung zurück.

Das Sitzungstimeout verhindert, dass Replikate unbegrenzt auf ein Ping vom anderen Replikat warten. Wenn innerhalb des Zeitraums für das Sitzungstimeout kein Ping vom anderen Replikat empfangen wird, tritt für das Replikat ein Timeout ein. Die Verbindung wird geschlossen, und der Status des Replikats mit dem Timeout ändert sich in DISCONNECTED. Auch wenn ein nicht verbundenes Replikat für den Modus für synchrone Commits konfiguriert ist, warten Transaktionen nicht darauf, dass dieses Replikat erneut verbunden und synchronisiert wird.

Das Standardsitzungstimeout für alle Verfügbarkeitsreplikate liegt bei 10 Sekunden. Dieser Wert kann vom Benutzer konfiguriert werden, muss aber mindestens 5 Sekunden betragen. Im Allgemeinen wird empfohlen, einen Timeoutzeitraum von 10 Sekunden oder mehr zu wählen. Wenn Sie diesen Wert auf weniger als 10 Sekunden festlegen, kann ein stark ausgelastetes System einen falschen Fehler melden.

Hinweis

In der Rolle RESOLVING ist das Sitzungstimeout nicht gültig, da keine Pings ausgeführt werden.

Automatische Seitenreparatur

Jedes Verfügbarkeitsreplikat versucht, durch das Auflösen bestimmter Fehlertypen, die das Lesen einer Datenseite verhindern, beschädigte Seiten auf einer lokalen Datenbank automatisch wiederherzustellen. Wenn von einem sekundären Replikat eine Seite nicht gelesen werden kann, wird vom Replikat eine neue Kopie der Seite vom primären Replikat angefordert. Wenn das primäre Replikat eine Seite nicht lesen kann, überträgt das Replikat eine Anforderung für eine neue Kopie an alle sekundären Replikate und ruft die Seite von dem Replikat ab, das zuerst antwortet. Ist diese Anforderung erfolgreich, wird die nicht lesbare Seite durch die Kopie ersetzt. Dadurch kann der Fehler normalerweise behoben werden.

Weitere Informationen finden Sie unter Automatische Seitenreparatur (Verfügbarkeitsgruppen: Datenbankspiegelung).

Interoperabilität und Koexistenz mit anderen Features der Datenbank-Engine

Always On-Verfügbarkeitsgruppen können mit den folgenden Funktionen oder Komponenten von SQL Serververwendet werden:

Nächster Schritt