Freigeben über


Aktivieren oder Deaktivieren der AlwaysOn-Verfügbarkeitsgruppenfunktion

Gilt für:SQL Server

Bevor Sie eine AlwaysOn-Verfügbarkeitsgruppe erstellen und konfigurieren können, müssen Sie das Feature "AlwaysOn-Verfügbarkeitsgruppen" für jede Instanz von SQL Server aktivieren, die ein Verfügbarkeitsreplikat hosten.

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

Berechtigungen

Wenn Sie Verfügbarkeitsgruppen für eine Instanz von SQL Server aktivieren, hat die Serverinstanz die vollständige Kontrolle über den WSFC-Cluster.

Sie müssen Mitglied der Administratorgruppe auf dem lokalen Computer sein und vollzugriff auf den WSFC-Cluster haben. Wenn Sie Verfügbarkeitsgruppen mit PowerShell aktivieren, öffnen Sie das Eingabeaufforderungsfenster mit der Option "Als Administrator ausführen ".

Sie benötigen Active Directory-Berechtigungen zum Erstellen von Objekten und zum Verwalten von Objekten .

Ermitteln, ob das Feature aktiviert ist

Sie können SQL Server Management Studio (SSMS), Transact-SQL oder PowerShell verwenden, um zu überprüfen, ob das Verfügbarkeitsgruppenfeature aktiviert ist.

Verwenden von SQL Server Management Studio

  1. Klicken Sie in SQL Server Management Studio (SSMS) im Objekt-Explorer mit der rechten Maustaste auf die Serverinstanz, und wählen Sie "Eigenschaften" aus.

  2. Wählen Sie im Dialogfeld "Servereigenschaften " die Seite "Allgemein " aus. Die Eigenschaft Ist HADR-aktiviert zeigt einen der folgenden Werte an:

    • True, wenn Verfügbarkeitsgruppen aktiviert sind
    • False, wenn Verfügbarkeitsgruppen deaktiviert sind.

Verwenden von Transact-SQL

Verwenden Sie die folgende SERVERPROPERTY -Anweisung:

SELECT SERVERPROPERTY('IsHadrEnabled');

Die Einstellung der IsHadrEnabled Servereigenschaft gibt an, ob eine Instanz von SQL Server für Verfügbarkeitsgruppen aktiviert ist, wie folgt:

  • IsHadrEnabled ist 1, wenn Verfügbarkeitsgruppen aktiviert sind.
  • IsHadrEnabled ist 0, wenn Verfügbarkeitsgruppen deaktiviert sind.

Hinweis

Weitere Informationen zur IsHadrEnabled Servereigenschaft finden Sie unter SERVERPROPERTY.

Verwenden von PowerShell

  1. Ändern Sie das Verzeichnis (cd) in eine Serverinstanz, in der Sie ermitteln möchten, ob AlwaysOn-Verfügbarkeitsgruppen aktiviert sind.

  2. Geben Sie an der Get-Item Eingabeaufforderung den folgenden PowerShell-Befehl SQLSERVER:\SQL\NODE1\DEFAULT ein:

    Get-Item . | Select-Object IsHadrEnabled
    

    Hinweis

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

Informationen zum Einrichten und Verwenden des SQL Server PowerShell-Anbieters finden Sie unter SQL Server PowerShell-Anbieter.

Die Funktion aktivieren

Sie können das Verfügbarkeitsgruppenfeature mithilfe von SQL Server Management Studio (SSMS) oder PowerShell aktivieren.

Aktivieren mit SQL Server Management Studio

  1. Stellen Sie eine Verbindung mit dem Windows Server-Failoverclusterknoten (WSFC) her, der die SQL Server-Instanz hostet, in der Sie Verfügbarkeitsgruppen aktivieren möchten.

  2. Zeigen Sie im Startmenü auf "Alle Programme", zeigen Sie auf Microsoft SQL Server, zeigen Sie auf "Konfigurationstools", und wählen Sie "SQL Server Configuration Manager" aus.

  3. Wählen Sie in SQL Server Configuration ManagerSQL Server Services aus, klicken Sie mit der rechten Maustaste auf SQL Server (<Instanzname>). Der <Instanzname ist der Name > einer lokalen Serverinstanz, für die Sie Verfügbarkeitsgruppen aktivieren möchten. Wählen Sie Eigenschaften aus.

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

  5. Stellen Sie sicher, dass das Windows-Failoverclusternamenfeld den Namen des lokalen Failoverclusters enthält. Wenn dieses Feld leer ist, unterstützt diese Serverinstanz derzeit keine AlwaysOn-Verfügbarkeitsgruppen. Entweder ist der lokale Computer kein Clusterknoten, der WSFC-Cluster wird heruntergefahren, oder diese Edition von SQL Server unterstützt keine AlwaysOn-Verfügbarkeitsgruppen.

  6. Aktivieren Sie das Kontrollkästchen "AlwaysOn-Verfügbarkeitsgruppen aktivieren " und dann "OK".

    SQL Server -Konfigurations-Manager speichert die Änderung. Dann müssen Sie den SQL Server -Dienst manuell neu starten. Mit diesem Schritt können Sie eine Neustartzeit auswählen, die ihren Geschäftlichen Anforderungen am besten entspricht. Wenn der SQL Server-Dienst neu gestartet wird, werden die Verfügbarkeitsgruppen aktiviert, und die IsHadrEnabled Servereigenschaft wird auf 1 gesetzt.

Aktivieren mithilfe von PowerShell

  1. Ändern Sie das Verzeichnis (cd) in eine Serverinstanz, in der Sie Verfügbarkeitsgruppen aktivieren möchten.

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

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

    Hinweis

    Informationen zum Steuern, ob das Enable-SqlAlwaysOn Cmdlet den SQL Server-Dienst neu startet, finden Sie unter Wann startet ein Cmdlet den SQL Server-Dienst neu?, weiter unten in diesem Artikel.

Informationen zum Einrichten und Verwenden des SQL Server PowerShell-Anbieters finden Sie unter SQL Server PowerShell-Anbieter.

Beispiel: Enable-SqlAlwaysOn

Der folgende PowerShell-Befehl aktiviert AlwaysOn-Verfügbarkeitsgruppen in einer Instanz von SQL Server (<computer>\<Instance>).

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

Deaktivieren des Features

Verwenden Sie die folgenden Abschnitte, um das Verfügbarkeitsgruppenfeature mit SQL Server Configuration Manager oder PowerShell zu deaktivieren. Nachdem Sie den Deaktivierenvorgang abgeschlossen haben, können Sie alle erforderlichen Nachverfolgungsaufgaben ausführen.

Wichtig

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

Empfehlungen

Bevor Sie das Feature für Verfügbarkeitsgruppen auf einer Serverinstanz deaktivieren, führen Sie die folgenden Schritte aus:

  1. Wenn die Serverinstanz derzeit das primäre Replikat einer Verfügbarkeitsgruppe hostet, die Sie beibehalten möchten, überführen Sie die Verfügbarkeitsgruppe möglichst manuell zu einem synchronisierten sekundären Replikat. 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).

Deaktivieren mit SQL Server Configuration Manager

  1. Stellen Sie eine Verbindung mit dem Windows Server-Failoverclusterknoten (WSFC) her, der die SQL Server-Instanz hostet, in der Sie Verfügbarkeitsgruppen deaktivieren möchten.

  2. Zeigen Sie im Startmenü auf "Alle Programme", zeigen Sie auf Microsoft SQL Server, zeigen Sie auf "Konfigurationstools", und wählen Sie "SQL Server Configuration Manager" aus.

  3. Wählen Sie in SQL Server Configuration ManagerSQL Server Services aus, klicken Sie mit der rechten Maustaste auf SQL Server (<Instanzname>). Der <Instanzname ist der Name > einer lokalen Serverinstanz, für die Sie Verfügbarkeitsgruppen deaktivieren möchten. Wählen Sie Eigenschaften aus.

  4. Deaktivieren Sie auf der Registerkarte "Immer aktive Hochverfügbarkeit" das Kontrollkästchen "Always On-Verfügbarkeitsgruppen aktivieren", und wählen Sie "OK".

    SQL Server -Konfigurations-Manager speichert die Änderung und startet den SQL Server -Dienst neu. Wenn der SQL Server-Dienst neu gestartet wird, werden Verfügbarkeitsgruppen deaktiviert, und die IsHadrEnabled-Servereigenschaft ist auf 0 gesetzt, um anzuzeigen, dass die Funktion deaktiviert ist.

  5. Lesen Sie die Informationen in "Nachverfolgung" weiter unten in diesem Artikel.

Deaktivieren mit PowerShell

  1. Ändern Sie das Verzeichnis (cd) in eine aktuell aktivierte Serverinstanz, in der Sie Verfügbarkeitsgruppen deaktivieren möchten.

  2. Verwenden Sie das Disable-SqlAlwaysOn Cmdlet, um Verfügbarkeitsgruppen zu deaktivieren.

    Mit dem folgenden Befehl werden z. B. Verfügbarkeitsgruppen für eine Instanz von SQL Server (Computerinstanz\) 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 zum Steuern, ob das Disable-SqlAlwaysOn Cmdlet den SQL Server-Dienst neu startet, finden Sie unter Wann startet ein Cmdlet den SQL Server-Dienst neu?, weiter unten in diesem Artikel.

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

Informationen zum Einrichten und Verwenden des SQL Server PowerShell-Anbieters finden Sie unter SQL Server PowerShell-Anbieter.

Nachverfolgung nach dem Deaktivieren von Verfügbarkeitsgruppen

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

Auf der neu gestarteten Serverinstanz:

  • Verfügbarkeitsdatenbanken werden beim Start von SQL Server nicht gestartet, sodass man nicht auf sie zugreifen kann.

  • Die einzige unterstützte Verfügbarkeitsgruppen-Transact-SQL-Anweisung ist DROP AVAILABILITY GROUP. CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUPund die SET HADR Optionen ALTER DATABASE werden nicht unterstützt.

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

Wenn Sie Verfügbarkeitsgruppen auf jeder Serverinstanz, die ein Verfügbarkeitsreplikat für eine oder mehrere Verfügbarkeitsgruppen hostet, dauerhaft deaktivieren, führen Sie die folgenden Schritte aus:

  1. Wenn Sie die lokalen Verfügbarkeitsreplikate nicht entfernt haben, bevor Sie Verfügbarkeitsgruppen deaktivieren, löschen (ablegen) 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 Metadaten zu entfernen, löschen (verwerfen) Sie jede betroffene Verfügbarkeitsgruppe auf einer Serverinstanz, die Teil des ursprünglichen WSFC ist.

  3. Auf die primären Datenbanken kann weiterhin für alle Verbindungen zugegriffen werden, aber die Datensynchronisierung zwischen den primären und sekundären Datenbanken stoppt.

  4. Die sekundären Datenbanken wechseln in den Status RESTORING. Sie können sie löschen oder mithilfe von 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?

Bei einer Serverinstanz, die derzeit ausgeführt wird, kann die Verwendung von Enable-SqlAlwaysOn oder Disable-SqlAlwaysOn zum Ändern der aktuellen Verfügbarkeitsgruppeneinstellung dazu führen, dass der SQL Server-Dienst neu gestartet wird. Das Neustartverhalten hängt von den folgenden Bedingungen ab:

-NoServiceRestart Parameter angegeben -Force Parameter angegeben SQL Server-Dienst neu gestartet
Nein Nein Standardmäßig. Siehe "Wenn beide Parameter angegeben sind".
Nein Ja Der Dienst wird neu gestartet.
Ja Nein Der Dienst wird nicht neu gestartet.
Ja Ja Der Dienst wird nicht neu gestartet.

Wenn beide Parameter angegeben sind

Wenn Sie beide -NoServiceRestart und -Force Parameter angeben, werden Sie vom Cmdlet wie folgt aufgefordert (der Standardwert ist Y):

To complete this action, we must restart the SQL Server service for server instance '<instance_name>'. Do you want to continue?

[Y] Yes [N] No [S] Suspend [?] Help

Wenn Sie N oder S angeben, wird der Dienst nicht neu gestartet.