Aktivieren oder Deaktivieren des Features für Always On-Verfügbarkeitsgruppen

Gilt für:SQL Server

Always On-Verfügbarkeitsgruppen muss aktiviert werden, damit eine Serverinstanz Verfügbarkeitsgruppen verwenden kann. Bevor Sie eine beliebige Verfügbarkeitsgruppe erstellen und konfigurieren können, muss die Funktion Always On-Verfügbarkeitsgruppen für jede Instanz von SQL Server aktiviert worden sein, auf der ein Verfügbarkeitsreplikat für mindestens eine Verfügbarkeitsgruppe gehostet wird.

Wichtig

Wenn Sie einen WSFC-Cluster löschen und neu erstellen, müssen Sie die Funktion Always On-Verfügbarkeitsgruppen für jede Instanz von SQL Server deaktivieren und erneut aktivieren, auf der auf dem ursprünglichen WSFC-Cluster ein Verfügbarkeitsreplikat gehostet wurde.

Voraussetzungen

  • Vor SQL Server 2017 und Windows Server 2016 musste sich die Instanz auf einem WSFC-Knoten (Windows Server-Failovercluster) befinden, damit das Feature für Always On-Verfügbarkeitsgruppen aktiviert werden konnte. Zur Unterstützung von Verfügbarkeitsgruppen mit Leseskalierung ist es ab SQL Server 2017 und Windows Server 2016 möglich, das Verfügbarkeitsgruppenfeature auch dann zu aktivieren, wenn sich die SQL Server Instanz nicht in einem Windows Server-Failovercluster befindet.

  • Auf der Serverinstanz muss eine Edition von SQL Server ausgeführt werden, die Always On-Verfügbarkeitsgruppenunterstützt. Weitere Informationen finden Sie unter Von den SQL Server 2016-Editionen unterstützte Funktionen.

  • AlwaysOn-Verfügbarkeitsgruppen sollten jeweils nur für eine Serverinstanz aktiviert werden. Warten Sie nach der Aktivierung von AlwaysOn-Verfügbarkeitsgruppen, bis der SQL Server-Dienst neu gestartet wurde, bevor Sie mit einer anderen Serverinstanz fortfahren.

Informationen zu zusätzlichen Voraussetzungen für das Erstellen und Konfigurieren von Verfügbarkeitsgruppen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen (SQL Server).

Berechtigungen

Während AlwaysOn-Verfügbarkeitsgruppen auf einer Instanz von SQL Serveraktiviert sind, verfügt die Serverinstanz über Vollzugriff auf den WSFC-Cluster.

Erfordert auf dem lokalen Computer die Mitgliedschaft in der Gruppe Administrator und Vollzugriff auf den WSFC-Cluster. Wenn Sie AlwaysOn mit PowerShell aktivieren, öffnen Sie das Eingabeaufforderungsfenster unter Verwendung der Option Als Administrator ausführen .

Erfordert, dass von Active Directory Objekte erstellt und Objektberechtigungen verwaltet werden.

Ermitteln, ob das Feature aktiviert ist

Verwendung von SQL Server Management Studio

So ermitteln Sie, ob AlwaysOn-Verfügbarkeitsgruppen aktiviert sind

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Serverinstanz, und klicken Sie dann auf Eigenschaften.

  2. Klicken Sie im Dialogfeld Servereigenschaften auf die Seite Allgemein . Die Eigenschaft Ist HADR-aktiviert zeigt einen der folgenden Werte an:

    • True, wenn AlwaysOn-Verfügbarkeitsgruppen aktiviert sind.

    • False, wenn AlwaysOn-Verfügbarkeitsgruppen deaktiviert sind.

Verwenden von Transact-SQL

So ermitteln Sie, ob AlwaysOn-Verfügbarkeitsgruppen aktiviert sind

  1. Verwenden Sie die folgende SERVERPROPERTY -Anweisung:

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    Die Einstellung der IsHadrEnabled -Servereigenschaft gibt folgendermaßen an, ob eine Instanz von SQL Server für AlwaysOn-Verfügbarkeitsgruppen aktiviert ist:

    • Falls IsHadrEnabled = 1, sind AlwaysOn-Verfügbarkeitsgruppen aktiviert.

    • Falls IsHadrEnabled = 0, sind AlwaysOn-Verfügbarkeitsgruppen deaktiviert.

    Hinweis

    Weitere Informationen zur IsHadrEnabled -Servereigenschaft finden Sie unter SERVERPROPERTY (Transact-SQL).

PowerShell

So ermitteln Sie, ob AlwaysOn-Verfügbarkeitsgruppen aktiviert sind

  1. Legen Sie die Serverinstanz als Standard fest (cd), auf der Sie ermitteln möchten, ob Always On-Verfügbarkeitsgruppen aktiviert ist.

  2. Geben Sie den folgenden Get-Item -Befehl von PowerShell ein:

    PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled  
    

    Hinweis

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help -Cmdlet in der SQL Server PowerShell-Umgebung. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Aktivieren des Features

So aktivieren Sie AlwaysOn mit der folgenden Option:

Verwenden des SQL Server-Konfigurations-Managers

So aktivieren Sie Always On-Verfügbarkeitsgruppen

  1. Stellen Sie eine Verbindung mit dem WSFC-Knoten (Windows Server Failover Cluster) her, auf dem die SQL Server-Instanz gehostet wird, auf der Sie Always On-Verfügbarkeitsgruppen aktivieren möchten.

  2. Zeigen Sie im Menü Start auf Alle Programme, auf Microsoft SQL Server und dann auf Konfigurationstools, und klicken Sie auf SQL Server-Konfigurations-Manager.

  3. Klicken Sie im SQL Server-Konfigurations-Manager auf SQL Server-Dienste, klicken Sie mit der rechten Maustaste auf SQL Server (<Instanzname>), wobei <Instanzname> der Name einer lokalen Serverinstanz ist, für die Sie Always On-Verfügbarkeitsgruppen aktivieren möchten, und klicken Sie dann auf Eigenschaften.

  4. Wählen Sie die Registerkarte Hohe Verfügbarkeit mit AlwaysOn aus.

  5. Überprüfen Sie, ob das Feld Name des Windows-Failoverclusters den Namen des lokalen Failoverclusters enthält. Wenn dieses Feld leer ist, wird Always On-Verfügbarkeitsgruppenvon dieser Serverinstanz derzeit nicht unterstützt. Der lokale Computer ist kein Clusterknoten, der WSFC-Cluster wurde geschlossen oder diese Edition von SQL Server unterstützt Always On-Verfügbarkeitsgruppennicht.

  6. Aktivieren Sie das Kontrollkästchen AlwaysOn-Verfügbarkeitsgruppen aktivieren , und klicken Sie auf OK.

    SQL Server -Konfigurations-Manager speichert die Änderung. Dann müssen Sie den SQL Server -Dienst manuell neu starten. Dies ermöglicht die Auswahl einer für die Geschäftsanforderungen optimalen Neustartzeit. Wenn der SQL Server -Dienst neu gestartet wird, wird AlwaysOn aktiviert, und die IsHadrEnabled -Servereigenschaft wird auf 1 festgelegt.

SQL Server PowerShell

So aktivieren Sie AlwaysOn

  1. Wechseln Sie in das Verzeichnis einer Serverinstanz (cd), die Sie für AlwaysOn-Verfügbarkeitsgruppen aktivieren möchten.

  2. Verwenden Sie das Cmdlet Enable-SqlAlwaysOn um Always On-Verfügbarkeitsgruppen zu aktivieren.

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help -Cmdlet in der SQL Server PowerShell-Umgebung. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.

    Hinweis

    Informationen zur Steuerung des Neustarts des -Diensts durch das Enable-SqlAlwaysOn SQL Server-Cmdlet finden Sie unter Wann startet ein Cmdlet den SQL Server-Dienst neu? weiter unten in diesem Thema.

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Beispiel: Enable-SqlAlwaysOn

Durch den folgenden PowerShell-Befehl wird Always On-Verfügbarkeitsgruppen auf einer Instanz von SQL Server (Computer\Instanz) aktiviert.

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

Deaktivieren des Features

Wichtig

Deaktivieren Sie AlwaysOn jeweils nur auf einer Serverinstanz. Warten Sie nach der Deaktivierung von AlwaysOn-Verfügbarkeitsgruppen, bis der SQL Server -Dienst neu gestartet wurde, bevor Sie mit einer anderen Serverinstanz fortfahren.

Empfehlungen

Bevor Sie AlwaysOn auf einer Serverinstanz deaktivieren, sollten Sie wie folgt vorgehen:

  1. Wenn das primäre Replikat einer Verfügbarkeitsgruppe, die beibehalten werden soll, derzeit auf einer Serverinstanz gehostet wird, sollten Sie nach Möglichkeit manuell ein Failover für die Verfügbarkeitsgruppe zum synchronisierten sekundären Replikat ausführen. Weitere Informationen finden Sie unter Ausführen eines geplanten manuellen Failovers einer Verfügbarkeitsgruppe (SQL Server).

  2. Entfernen Sie alle lokalen sekundären Replikate. Weitere Informationen finden Sie unter Entfernen eines sekundären Replikats aus einer Verfügbarkeitsgruppe (SQL Server).

Verwenden des SQL Server-Konfigurations-Managers

So deaktivieren Sie AlwaysOn

  1. Stellen Sie eine Verbindung mit dem WSFC-Knoten (Windows Server Failover Cluster)her, auf dem die SQL Server-Instanz gehostet wird, auf der Sie Always On-Verfügbarkeitsgruppen deaktivieren möchten.

  2. Zeigen Sie im Menü Start auf Alle Programme, auf Microsoft SQL Server und dann auf Konfigurationstools, und klicken Sie auf SQL Server-Konfigurations-Manager.

  3. Klicken Sie im SQL Server-Konfigurations-Manager auf SQL Server-Dienste, klicken Sie mit der rechten Maustaste auf SQL Server (<Instanzname>), wobei <Instanzname> der Name einer lokalen Serverinstanz ist, für die Sie Always On-Verfügbarkeitsgruppen deaktivieren möchten, und klicken Sie dann auf Eigenschaften.

  4. Deaktivieren Sie auf der Registerkarte Hohe Verfügbarkeit mit AlwaysOn das Kontrollkästchen AlwaysOn-Verfügbarkeitsgruppen aktivieren, und klicken Sie auf OK.

    SQL Server -Konfigurations-Manager speichert die Änderung und startet den SQL Server -Dienst neu. Beim Neustart des SQL Server -Diensts wird AlwaysOn deaktiviert. Zudem wird die IsHadrEnabled -Servereigenschaft auf 0 festgelegt, um anzuzeigen, dass AlwaysOn-Verfügbarkeitsgruppen deaktiviert sind.

  5. Es wird empfohlen, dass Sie die Informationen unter Nächster Schritt: Nach dem Deaktivieren von Always On weiter unten in diesem Thema lesen.

SQL Server PowerShell

So deaktivieren Sie AlwaysOn

  1. Wechseln Sie in das Verzeichnis (cd) einer derzeit aktivierten Serverinstanz, die Sie für AlwaysOn-Verfügbarkeitsgruppen deaktivieren möchten.

  2. Verwenden Sie das Disable-SqlAlwaysOn-Cmdlet, um die Always On-Verfügbarkeitsgruppen zu aktivieren.

    Beispielsweise werden durch den folgenden Befehl AlwaysOn-Verfügbarkeitsgruppen auf der SQL Serverinstanz (Computer\Instanz) deaktiviert. Dieser Befehl erfordert einen Neustart der Instanz, und Sie werden aufgefordert, diesen Neustart zu bestätigen.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    Wichtig

    Informationen zur Steuerung, ob das Cmdlet Disable-SqlAlwaysOn den SQL Server-Dienst neu startet, finden Sie unter Wann startet ein Cmdlet den SQL Server-Dienst neu? weiter unten in diesem Thema.

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help -Cmdlet in der SQL Server PowerShell-Umgebung. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Nachverfolgung: Nach dem Deaktivieren von AlwaysOn

Nachdem Sie AlwaysOn-Verfügbarkeitsgruppen deaktiviert haben, muss die Instanz von SQL Server neu gestartet werden. Die Serverinstanz wird vom SQL-Konfigurations-Manager automatisch neu gestartet. Wenn Sie jedoch das Disable-SqlAlwaysOn -Cmdlet verwendet haben, müssen Sie die Serverinstanz manuell neu starten. Weitere Informationen finden Sie unter sqlservr Application.

Auf der neu gestarteten Serverinstanz:

  • Verfügbarkeitsdatenbanken werden bei SQL Server-Start nicht gestartet. Daher kann nicht auf sie zugegriffen werden.

  • Die einzige unterstützte Always On-Transact-SQL-Anweisung ist DROP AVAILABILITY GROUP. Die Optionen CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP und SET HADR von ALTER DATABASE werden nicht unterstützt.

  • SQL Server Metadaten und Always On-Verfügbarkeitsgruppen -Konfigurationsdaten in WSFC sind von der Deaktivierung der AlwaysOn-Verfügbarkeitsgruppen nicht betroffen.

Wenn Sie AlwaysOn-Verfügbarkeitsgruppen dauerhaft auf jeder Serverinstanz deaktivieren, die ein Verfügbarkeitsreplikat für eine oder mehrere Verfügbarkeitsgruppen hostet, empfiehlt es sich, dass Sie die folgenden Schritte ausführen:

  1. Wenn Sie die lokalen Verfügbarkeitsreplikate nicht vor dem Deaktivieren von AlwaysOn entfernt haben, löschen Sie jede Verfügbarkeitsgruppe, für die die Serverinstanz ein Verfügbarkeitsreplikat hostet. Informationen zum Löschen einer Verfügbarkeitsgruppe finden Sie unter Entfernen einer Verfügbarkeitsgruppe (SQL Server).

  2. Um die zurückgelassenen Metadaten zu entfernen, löschen Sie jede betroffene Verfügbarkeitsgruppe auf einer Serverinstanz, die Teil des ursprünglichen WSFC ist.

  3. Auf die primären Datenbanken kann weiterhin anhand aller Verbindungen außer der Datensynchronisierung zwischen der primären und der sekundären Datenbank zugegriffen werden.

  4. Die sekundären Datenbanken übernehmen den Status RESTORING. Sie können sie entweder löschen oder sie mit RESTORE WITH RECOVERY wiederherstellen. Wiederhergestellte Datenbanken nehmen jedoch nicht mehr an der Datensynchronisierung für Verfügbarkeitsgruppen teil.

Wann startet ein Cmdlet den SQL Server-Dienst neu?

Auf einer aktuell ausgeführten Serverinstanz kann die Verwendung von Enable-SqlAlwaysOn oder Disable-SqlAlwaysOn zum Ändern der aktuellen Always On-Einstellung zu einem Neustart des SQL Server-Diensts führen. Das Neustartverhalten hängt von den folgenden Bedingungen ab:

-NoServiceRestart-Parameter angegeben -Force-Parameter angegeben Wurde der SQL Server -Dienst neu gestartet?
Nein Nein Standardmäßig. Aber das Cmdlet fordert Sie folgendermaßen auf:

Zum Abschließen dieser Aktion müssen wir den SQL Server-Dienst für die Serverinstanz <instance_name> neu starten. Möchten Sie fortfahren?

[Y] Ja, [N] Nein, [S] Anhalten, [?] Hilfe (die Standardeinstellung ist „Y"):

Wenn Sie N oder Sangeben, wird der Dienst nicht neu gestartet.
Nein Ja Der Dienst wird neu gestartet.
Ja Nein Der Dienst wird nicht neu gestartet.
Ja Ja Der Dienst wird nicht neu gestartet.

Weitere Informationen

Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server)
SERVERPROPERTY (Transact-SQL)