Freigeben über


Konfigurieren eines Listeners für Always On-Verfügbarkeitsgruppen

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

  • 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 Ihrer Organisation das Computerkonto für den Namen eines virtuellen Listenernetzwerks vorab bereitgestellt werden muss, 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 bei der Ausführung des Assistenten für die hohe WSFC-Verfügbarkeit nach Möglichkeit die automatische Erstellung und Konfiguration des Kontos zu.

SQL Server-Berechtigungen

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

Erstellen eines Listeners

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

Tipp

Erstellen einen Verfügbarkeitsgruppenlistener mit dem Assistenten für Verfügbarkeitsgruppen.

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 Hohe Verfügbarkeit mit Always on 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 mit dem Dynamic Host Configuration-Protokoll (DHCP) zugewiesen wird. DHCP ist auf ein einzelnes Subnetz beschränkt.

Wichtig

DHCP wird in einer Produktionsumgebung nicht empfohlen. Wenn die DHCP-IP-Leasedauer bei einer Downtime abläuft, ist eine Verlängerung erforderlich, um die neue IP-Adresse des DHCP-Netzwerks zu registrieren, die dem DNS-Namen des Listeners zugeordnet ist, was sich auf die Clientkonnektivität auswirkt. 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 Dialogfeld „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 fehl, da Sie ein Active Directory-Kontingent für das Computerkonto des teilnehmende Clusterknotens ausgeschöpft haben. Weitere Informationen finden Sie unter Problembehandlung für das Clusterdienstkonto bei Änderung von Computerobjekten.

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 Multisubnetz-Listener für eine Always On-Verfügbarkeitsgruppe oder Failoverclusterinstanzen.

  • Schnelleres Einzelsubnetz-Failover auf einen Einzelsubnetz-Listener 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. Der Effekt dieses Eigenschaftswerts hängt gemäß den folgenden Angaben von der Clientverbindungszeichenfolge 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 das Multisubnetz-Failover finden Sie unter Always On-Clientkonnektivität.

    Informationen zum Multisubnetz-Clustering finden Sie unter SQL Server-Multisubnetz-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, bei Legacyclients, die eine Verbindung mit einem Verfügbarkeitsgruppenlistener herstellen müssen und die Eigenschaft MultiSubnetFailover nicht nutzen können, RegisterAllProvidersIP in „0“ zu ändern.

    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 werden von Clients DNS-Clustereinträge 20 Minuten zwischengespeichert. Durch das Reduzieren von HostRecordTTL, d. h. der Gültigkeitsdauer (Time to Live, TTL) für den zwischengespeicherten Eintrag, können Legacyclients unter Umständen schneller wieder Verbindungen herstellen. 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. Durch das Ändern beider Clusterparameter kann die Zeit zum Herstellen der Verbindung mit der richtigen IP-Adresse nach einem Failover für Legacyclients, die den Parameter MultiSubnetFailover nicht nutzen können, reduziert werden. 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.

  • Ermutigen Sie Entwickler, Clientverbindungszeichenfolgen wenn möglich auf MultiSubnetFailover = Truezu aktualisieren. Informationen zur Treiberunterstützung für das Multisubnetz-Failover finden Sie unter Always On-Clientkonnektivität.

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:

WSFC Failovercluster-Manager:

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

  2. Schalten 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).

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 in SQL Server das Lauschen am neuen Listener. 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).