Konfigurieren Sie einen Listener für eine Always On-Verfügbarkeitsgruppe

Gilt für:SQL Server

In diesem Artikel wird die Vorgehensweise zum Erstellen oder Konfigurieren eines einzelnen Verfügbarkeitsgruppenlisteners für eine Always On-Verfügbarkeitsgruppe mithilfe von SQL Server Management Studio, Transact-SQL oder PowerShell in SQL Server beschrieben.

Wichtig

Für die Erstellung des ersten Verfügbarkeitsgruppenlisteners einer Verfügbarkeitsgruppe empfehlen wir dringend die Verwendung von SQL Server Management Studio, Transact-SQL oder SQL Server PowerShell. Vermeiden Sie, einen Listener direkt im WSFC-Cluster zu erstellen, sofern dies nicht unbedingt notwendig ist (z. B. bei der Erstellung eines zusätzlichen Listeners).

Ist bereits ein Listener für diese Verfügbarkeitsgruppe vorhanden?

So ermitteln Sie, ob bereits ein Listener für die Verfügbarkeitsgruppe vorhanden ist

Hinweis

Wenn ein Listener bereits vorhanden ist und Sie einen zusätzlichen Listener erstellen möchten, finden Sie entsprechende Informationen unter Erstellen eines zusätzlichen Listeners für eine Verfügbarkeitsgruppe weiter unten in diesem Artikel.

Einschränkungen und Beschränkungen

  • Sie können anhand von SQL Servernur einen Listener pro Verfügbarkeitsgruppe erstellen. In der Regel erfordert jede Verfügbarkeitsgruppe nur einen Listener. Einige Kundenszenarien erfordern jedoch mehrere Listener für eine Verfügbarkeitsgruppe. Nachdem Sie mit SQL Server einen Listener erstellt haben, können Sie Windows PowerShell für Failovercluster oder den WSFC Failovercluster-Manager verwenden, um zusätzliche Listener zu erstellen. Weitere Informationen finden Sie unter Erstellen eines zusätzlichen Listeners für eine Verfügbarkeitsgruppe weiter unten in diesem Artikel.

Empfehlungen

Die Verwendung einer statischen IP-Adresse wird zwar empfohlen, ist für Multisubnetz-Konfigurationen jedoch nicht unbedingt erforderlich.

Voraussetzungen

  • Sie müssen mit der Serverinstanz verbunden sein, die das primäre Replikat hostet.

  • Wenn Sie einen Verfügbarkeitsgruppenlistener für mehrere Subnetze einrichten und statische IP-Adressen verwenden möchten, müssen Sie die statische IP-Adresse jedes Subnetzes abrufen, von dem ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe gehostet wird, für die Sie den Listener erstellen. Normalerweise müssen Sie die Netzwerkadministrator*innen um die statischen IP-Adressen bitten.

Wichtig

Vor dem Erstellen des ersten Listeners empfiehlt es sich, den Artikel Always On-Clientkonnektivität zu lesen.

Anforderungen für den DNS-Namen eines Verfügbarkeitsgruppenlisteners

Für jeden Verfügbarkeitsgruppenlistener ist ein DNS-Hostname erforderlich, der in der Domäne und in NetBIOS eindeutig ist. Der DNS-Name ist ein Zeichenfolgenwert. Dieser Name darf nur alphanumerische Zeichen, Gedanken-/Bindestriche (-) und Unterstriche (_) in beliebiger Reihenfolge enthalten. Bei DNS-Hostnamen muss die Groß-/Kleinschreibung beachtet werden. Die maximale Länge beträgt 63 Zeichen, die maximale Länge, die in SQL Server Management Studioangegeben werden kann, ist jedoch 15 Zeichen.

Wir empfehlen, dass Sie eine sinnvolle Zeichenfolge angeben. Für eine Verfügbarkeitsgruppe mit dem Namen AG1wäre ein sinnvoller DNS-Hostname z. B. ag1-listener.

Wichtig

NetBIOS erkennt nur die ersten 15 Zeichen im dns_name. Wenn Sie zwei WSFC-Cluster verwenden, die vom gleichen Active Directory gesteuert werden, und Sie versuchen, Verfügbarkeitsgruppenlistener in beiden Clustern mit Namen mit mehr als 15 Zeichen und einem identischen 15-Zeichen-Präfix zu erstellen, erhalten Sie eine Fehlermeldung mit dem Hinweis, dass die VNN-Ressource nicht online geschaltet werden konnte. Informationen zu Präfix-Benennungsregeln für DNS-Namen finden Sie unter Zuweisen von Domänennamen.aspx).

Windows-Berechtigungen

Berechtigungen Link
Das Clusternamenobjekt (CNO) des WSFC-Clusters, der die Verfügbarkeitsgruppe hostet, muss die Berechtigung zum Erstellen von Computerobjekten haben.

Standardmäßig weist ein CNO in Active Directory die Berechtigung zum Erstellen von Computerobjekten nicht explizit auf und kann 10 virtuelle Computerobjekte (Virtual Computer Objects, VCOs) erstellen. Nach der Erstellung von 10 VCOs können keine weiteren VCOs erstellt werden. Sie können das vermeiden, indem Sie dem CNO des WSFC-Clusters die Berechtigung explizit erteilen. VCOs gelöschter Verfügbarkeitsgruppen werden in Active Directory nicht automatisch gelöscht. Sie werden auf die Standardbeschränkung von 10 VCOs angerechnet, sofern sie nicht manuell gelöscht werden.
Hinweis: In einigen Organisationen verhindert die Sicherheitsrichtlinie, dass einzelnen Benutzerkonten die Berechtigung zum Erstellen von Computerobjekten erteilt wird.
Schritte für die Konfiguration des Kontos für den Benutzer, der den Cluster installiert in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory
Schritte für die Vorabbereitstellung des Clusternamenkontos in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory
Falls in der Organisation erforderlich ist, dass das Computerkonto für den Namen eines virtuellen Listenernetzwerks vorab bereitgestellt wird, müssen Sie Mitglied der Gruppe Account Operator sein oder den Domänenadministrator um Unterstützung bitten. Schritte für die Vorabbereitstellung eines Kontos für einen gruppierten Dienst oder eine gruppierte Anwendung in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory(Schritt-für-Schritt-Anleitung für Failover Cluster: Konfigurieren von Konten in Active Directory).

Tipp

Im Allgemeinen ist es am einfachsten, das Computerkonto für den Namen eines virtuellen Listenernetzwerks nicht vorab bereitzustellen. Lassen Sie das Konto nach Möglichkeit automatisch erstellen und konfigurieren, wenn Sie den WSFC-Assistenten für Hochverfügbarkeit ausführen.

SQL Server-Berechtigungen

Aufgabe Berechtigungen
So erstellen Sie einen Verfügbarkeitsgruppenlistener Erfordert Mitgliedschaft in der festen Serverrolle sysadmin und entweder die Serverberechtigung CREATE AVAILABILITY GROUP, die Berechtigung ALTER ANY AVAILABILITY GROUP oder die Berechtigung CONTROL SERVER.
So ändern Sie einen vorhandenen Verfügbarkeitsgruppenlistener Erfordert die Berechtigung ALTER AVAILABILITY GROUP für die Verfügbarkeitsgruppe, die Berechtigung CONTROL AVAILABILITY GROUP, die Berechtigung ALTER ANY AVAILABILITY GROUP oder die Berechtigung CONTROL SERVER.

Listener erstellen

Sie können einen Listener mithilfe von SQL Server Management Studio (SSMS), Transact-SQL oder PowerShell erstellen.

Tipp

Verwenden Sie den Assistenten für Verfügbarkeitsgruppen, um einen Verfügbarkeitsgruppenlistener zu erstellen.

Gehen Sie wie folgt vor, um einen Verfügbarkeitsgruppenlistener in SSMS zu erstellen oder zu konfigurieren:

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit der Serverinstanz her, die das primäre Replikat der Verfügbarkeitsgruppe hostet, und wählen Sie zum Erweitern der Serverstruktur den Servernamen aus.

  2. Erweitern Sie den Knoten Always On High Availability und den Knoten Verfügbarkeitsgruppen.

  3. Wählen Sie die Verfügbarkeitsgruppe aus, deren Listener Sie konfigurieren möchten, und wählen Sie eine der folgenden Alternativen:

    • Klicken Sie zum Erstellen eines Listeners mit der rechten Maustaste auf den Knoten Verfügbarkeitsgruppenlistener , und wählen Sie den Befehl Neuer Listener aus. Daraufhin wird das Dialogfeld Neuer Verfügbarkeitsgruppenlistener geöffnet. Weitere Informationen finden Sie unter Verfügbarkeitsgruppenlistener hinzufügen (Dialogfeld) weiter unten in diesem Artikel.

    • Erweitern Sie zum Ändern der Portnummer eines vorhanden Listeners den Knoten Verfügbarkeitsgruppenlistener , klicken Sie mit der rechten Maustaste auf den Listener, und wählen Sie den Befehl Eigenschaften aus. Geben Sie die neue Portnummer in das Feld Port ein, und wählen Sie OK aus.

Neuer Verfügbarkeitsgruppenlistener (Dialogfeld)

DNS-Name des Listeners
Gibt den DNS-Hostnamen des Verfügbarkeitsgruppenlisteners an. Der DNS-Name ist eine Zeichenfolge, die in der Domäne und in NetBIOS eindeutig sein muss. Dieser Name darf nur alphanumerische Zeichen, Bindestriche (-) und Unterstriche (_) enthalten (in beliebiger Reihenfolge). Bei DNS-Hostnamen muss die Groß-/Kleinschreibung beachtet werden. Die maximale Länge beträgt 15 Zeichen.

Weitere Informationen finden Sie unter Anforderungen für den DNS-Namen eines Verfügbarkeitsgruppenlisteners weiter oben in diesem Artikel.

Port
Der von diesem Listener verwendete TCP-Port.

Netzwerkmodus
Gibt das vom Listener verwendete TCP-Protokoll an. Folgende Werte sind möglich:

DHCP
Der Listener verwendet eine dynamische IP-Adresse, die von einem Server zugewiesen wird, auf dem das Dynamic Host Configuration Protocol (DHCP) ausgeführt wird. DHCP ist auf ein einzelnes Subnetz beschränkt.

Wichtig

DHCP wird in einer Produktionsumgebung nicht empfohlen. Wenn es eine Ausfallzeit gibt und der DHCP-IP-Lease abläuft, wird zusätzliche Zeit benötigt, um die neue DHCP-Netzwerk-IP-Adresse zu registrieren, die mit dem DNS-Namen des Listeners verknüpft ist und die Client-Verbindung beeinflusst. DHCP eignet sich jedoch gut zum Einrichten der Entwicklungs- und Testumgebung, um grundlegende Funktionen von Verfügbarkeitsgruppen und die Integration in Ihre Anwendungen zu überprüfen.

Statische IP
Der Listener verwendet mindestens eine statische IP-Adresse. Zusätzliche IP-Adressen sind optional. Sie müssen zum Erstellen eines Verfügbarkeitsgruppenlisteners für mehrere Subnetze für alle Subnetze eine statische IP-Adresse in der Listenerkonfiguration angeben. Wenden Sie sich an Ihren Netzwerkadministrator, um diese statischen IP-Adressen abzurufen.

Wenn Sie Statische IP auswählen, wird unter dem Feld Netzwerkmodus ein Subnetzraster angezeigt. Dieses Raster enthält Informationen zu allen Subnetzen, auf die von diesem Verfügbarkeitsgruppenlistener zugegriffen werden kann. Dieses Raster ist leer, bis Sie eine statische IP-Adresse hinzufügen, indem Sie Hinzufügen auswählen.

Es gibt folgende Spalten:

Subnetz
Zeigt den Bezeichner aller Subnetze an, die Sie dem Verfügbarkeitsgruppenlistener hinzufügen.

IP-Adresse
Zeigt die IP-Adresse eines bestimmten Subnetzes an. Für ein bestimmtes Subnetz ist die IP-Adresse entweder eine IPv4-Adresse oder eine IPv6-Adresse.

Add (Hinzufügen)
Wählen Sie zum Hinzufügen einer statischen IP-Adresse zu einem ausgewählten Subnetz oder einem anderen Subnetz für diesen Listener diese Option aus. Das Dialogfeld IP-Adresse hinzufügen wird geöffnet. Weitere Informationen finden Sie im Hilfeartikel " IP-Adresse hinzufügen" .

Remove
Wählen Sie diese Option aus, um das ausgewählte Subnetz aus diesem Listener zu entfernen.

OK
Wählen Sie diese Option aus, um den angegebenen Verfügbarkeitsgruppenlistener zu erstellen.

Problembehandlung

Fehler beim Erstellen eines Verfügbarkeitsgruppenlisteners wegen Active Directory-Kontingenten

Die Erstellung eines neuen Verfügbarkeitsgruppenlisteners schlägt möglicherweise beim Erstellen fehl, da Sie ein Active Directory-Kontingent für das teilnehmende Clusterknoten-Computerkonto erreicht haben. Weitere Informationen finden Sie unter Beheben von Problemen mit dem Clusterdienstkonto, wenn es Computerobjekte ändert.

Nachverfolgung: Nach dem Erstellen eines Verfügbarkeitsgruppenlisteners

MultiSubnetFailover-Schlüsselwort und zugehörige Features

MultiSubnetFailover ist ein neues Schlüsselwort für Verbindungszeichenfolgen, das ein schnelleres Failover bei Always On-Verfügbarkeitsgruppen und Always On-Failoverclusterinstanzen in SQL Server 2012 ermöglicht. Wenn in der Verbindungszeichenfolge MultiSubnetFailover=True festgelegt wird, werden die folgenden drei Teilfeatures aktiviert:

  • Schnelleres Multisubnetz-Failover auf einen Multisubnetzlistener für eine Always On-Verfügbarkeitsgruppe oder Failoverclusterinstanzen

  • Schnelleres Einzelsubnetz-Failover auf einen Einzelsubnetzlistener für eine Always On-Verfügbarkeitsgruppe oder Failoverclusterinstanzen

    • Diese Funktion wird für Verbindungen mit einem Listener verwendet, der über eine einzelne IP in einem einzelnen Subnetz verfügt. Dadurch werden TCP-Verbindungsversuche aggressiver wiederholt, um Failovervorgänge einzelner Subnetze zu beschleunigen.
  • Auflösung benannter Instanzen in eine Multisubnetz-Always On-Failoverclusterinstanz

    • Wird verwendet, um die Auflösung benannter Instanzen für Always On-Failoverclusterinstanzen mit mehreren Subnetzendpunkten zu unterstützen

"MultiSubnetFailover=True" wird von NET Framework 3.5 oder OLE DB nicht unterstützt.

Problem: Wenn die Verfügbarkeitsgruppe oder Failoverclusterinstanz über einen Listenernamen (wird im WSFC-Cluster-Manager als Netzwerkname oder Clientzugriffspunkt bezeichnet) verfügt, der von mehreren IP-Adressen aus unterschiedlichen Subnetzen abhängig ist, und Sie entweder ADO.NET mit .NET Framework 3.5 SP1 oder SQL Native Client 11.0 OLE DB verwenden, tritt bei bis zu 50 % der Clientverbindungsanforderungen an den Listener der Verfügbarkeitsgruppe ein Verbindungstimeout auf.

Problemumgehungen: Eine der folgenden Lösungen wird empfohlen.

  • Wenn Sie nicht über die Berechtigung zur Bearbeitung von Clusterressourcen verfügen, ändern Sie den Wert für das Verbindungstimeout in 30 Sekunden (20-sekündiger TCP-Timeoutzeitraum plus Puffer von 10 Sekunden).

    Vorteile: Beim Eintreten eines subnetzübergreifenden Failovers ist die Clientwiederherstellungszeit nur kurz.

    Nachteile: Für die Hälfte der Clientverbindungen sind mehr als 20 Sekunden erforderlich.

  • Wenn Sie über die notwendigen Berechtigungen zum Bearbeiten der Clusterressourcen verfügen, sollten Sie den Netzwerknamen des Verfügbarkeitsgruppenlisteners auf RegisterAllProvidersIP=0festlegen. Weitere Informationen finden Sie weiter unten in diesem Abschnitt unter „Einstellung RegisterAllProvidersIP“.

    Vorteile: Sie müssen den Timeoutwert für Clientverbindungen nicht erhöhen.

    Nachteile: Beim Auftreten eines subnetzübergreifenden Failovers kann die Clientwiederherstellungszeit 15 Minuten oder länger betragen, je nach HostRecordTTL -Einstellung bzw. der Einstellung Ihres siteübergreifenden DNS/AD-Replikationszeitplans.

Einstellung für RegisterAllProvidersIP

Bei der Erstellung eines Verfügbarkeitsgruppenlisteners über SQL Server Management Studio, Transact-SQL oder PowerShell wird der Client Access Point in WSFC mit Festlegung der Eigenschaft RegisterAllProvidersIP auf 1 (TRUE) erstellt. Die Auswirkung dieses Eigenschaftswerts hängt von der Verbindungszeichenfolge des Clients wie folgt ab:

  • Verbindungszeichenfolgen, die MultiSubnetFailover auf „true“ festlegen

    Always On-Verfügbarkeitsgruppen legen die Eigenschaft RegisterAllProvidersIP auf 1 fest, um die Wiederverbindungszeit nach einem Failover für Clients zu reduzieren, deren Verbindungszeichenfolgen wie empfohlen MultiSubnetFailover = True angeben. Die Clients benötigen zur Nutzung der Multisubnetzfunktion des Listeners möglicherweise einen Datenanbieter, der das MultiSubnetFailover-Schlüsselwort unterstützt. Informationen zur Treiberunterstützung für Multi-Subnet-Failover finden Sie unter Always On Client Connectivity.

    Informationen zu Multi-Subnetzclustering finden Sie unter SQL Server Multi-Subnet Clustering.

    Tipp

    Ist RegisterAllProvidersIP = 1, wird beim Ausführen des WSFC-Konfigurationsüberprüfungs-Assistenten im WSFC-Cluster die folgende Warnmeldung generiert:

    „Die RegisterAllProviderIP-Eigenschaft für Netzwerkname 'Name:<Netzwerkname>' ist auf 1 festgelegt. Für die aktuelle Clusterkonfiguration muss dieser Wert auf 0 festgelegt werden.“

    Ignorieren Sie diese Meldung.

  • Verbindungszeichenfolgen, die MultiSubnetFailover nicht auf „true“ festlegen

    Bei RegisterAllProvidersIP = 1 treten bei Clients, deren Verbindungszeichenfolgen nicht MultiSubnetFailover = True nutzen, Verbindungen mit hoher Latenz auf. Dies liegt daran, dass diese Clients versuchen, sequenziell Verbindungen zu allen IPs herzustellen. Wird dagegen RegisterAllProvidersIP in 0 geändert, wird die aktive IP-Adresse im Clientzugriffspunkt im WSFC-Cluster registriert und so die Latenzzeit für Legacyclients reduziert. Es empfiehlt sich daher, RegisterAllProvidersIP auf „0“ zu ändern, wenn Sie Legacyclients haben, die eine Verbindung mit einem Verfügbarkeitsgruppenlistener herstellen müssen und die MultiSubnetFailover-Eigenschaft nicht verwenden können.

    Wichtig

    Wenn Sie über den WSFC-Cluster (Failovercluster-Manager-GUI) einen Verfügbarkeitsgruppenlistener erstellen, ist RegisterAllProvidersIP standardmäßig 0 (FALSE).

Einstellung für HostRecordTTL

Standardmäßig speichern Clients DNS-Einträge des Clusters für 20 Minuten im Cache. Durch Verringern von HostRecordTTL, der Gültigkeitsdauer (Time to Live, TTL) des zwischengespeicherten Eintrags, können Legacy-Clients die Verbindung möglicherweise schneller wiederherstellen. Das Reduzieren der Einstellung für HostRecordTTL kann jedoch auch zu größerem Datenverkehr an die DNS-Server führen.

PowerShell-Beispielskript zur Deaktivierung von RegisterAllProvidersIP und zur Reduzierung der Gültigkeitsdauer (TTL)

Im folgenden PowerShell-Beispiel wird veranschaulicht, wie der RegisterAllProvidersIP -Clusterparameter und der HostRecordTTL -Clusterparameter für die Listenerressource konfiguriert werden. Der DNS-Eintrag wird statt der standardmäßigen 20 Minuten nur 5 Minuten zwischengespeichert. Das Ändern beider Clusterparameter könnte die Zeit bis zur Verbindung mit der richtigen IP-Adresse nach einem Failover für ältere Clients verkürzen, die den Parameter MultiSubnetFailover nicht verwenden können. Ersetzen Sie yourListenerName durch den Namen des Listeners, den Sie ändern.

Import-Module FailoverClusters
Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource yourListenerName | Set-ClusterParameter HostRecordTTL 300
Stop-ClusterResource yourListenerName
Start-ClusterResource yourListenerName
Start-Clustergroup yourListenerGroupName

Weitere Informationen zu Wiederherstellungszeiten während des Failovers finden Sie unter Client Recovery Latency During Failover.

Empfehlungen für anschließende Aufgaben

Nach dem Erstellen eines Verfügbarkeitsgruppenlisteners:

  • Bitten Sie den Netzwerkadministrator, die IP-Adresse des Listeners zur exklusiven Verwendung zu reservieren.

  • Geben Sie den DNS-Hostnamen des Listeners an Anwendungsentwickler weiter, damit diese den Namen in Verbindungszeichenfolgen zum Anfordern von Clientverbindungen mit dieser Verfügbarkeitsgruppe verwenden.

  • Fordern Sie Entwickler nach Möglichkeit auf, Client-Verbindungszeichenfolgen zu aktualisieren, sodass MultiSubnetFailover = True angegeben wird. Informationen zur Treiberunterstützung für Multi-Subnet-Failover finden Sie unter Always On Client Connectivity.

Erstellen eines zusätzlichen Listeners für eine Verfügbarkeitsgruppe (optional)

Nachdem Sie mit SQL Server einen Listener erstellt haben, können Sie wie folgt einen zusätzlichen Listener hinzufügen:

Erstellen Sie den Listener mit einem der folgenden Tools:

Verwenden des WSFC Failovercluster-Managers:

  1. Fügen Sie einen Clientzugriffspunkt hinzu, und konfigurieren Sie die IP-Adresse.

  2. Bringen Sie den Listener online.

  3. Fügen Sie der WSCF-Verfügbarkeitsgruppenressource eine Abhängigkeit hinzu.

    Informationen zu den Dialogfeldern und Registerkarten im Failovercluster-Manager finden Sie unter Benutzeroberfläche: Failovercluster-Manager (Snap-In).

Verwenden von Windows PowerShell für Failovercluster:

  1. Verwenden Sie Add-ClusterResource , um einen Netzwerknamen und die IP-Adressressourcen zu erstellen.

  2. Verwenden Sie Start-ClusterResource , um die Netzwerknamenressource zu starten.

  3. Legen Sie mithilfe von Add-ClusterResourceDependency die Abhängigkeit zwischen dem Netzwerknamen und der vorhandenen SQL Server-Verfügbarkeitsgruppenressource fest.

    Informationen zur Verwendung von Windows PowerShell für Failovercluster finden Sie unter Übersicht über Server-Manager-Befehle.

Starten Sie den SQL Server so, dass er den neuen Listener überwacht. Stellen Sie nach dem Erstellen des zusätzlichen Listeners eine Verbindung mit der Instanz von SQL Server her, die das primäre Replikat der Verfügbarkeitsgruppe hostet, und ändern Sie den Listenerport mithilfe von SQL Server Management Studio, Transact-SQL oder PowerShell.

Weitere Informationen finden Sie unter How to create multiple listeners for same availability group (So werden mehrere Listener für die gleiche Verfügbarkeitsgruppe erstellt, SQL Server Always On-Teamblog).