Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Ein Verfügbarkeitsgruppenlistener ist der Name eines virtuellen Netzwerks (Virtual Network Name, VNN), 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. Ein Listener ermöglicht es einem Client, eine Verbindung zu einem Replikat herzustellen, ohne dabei den Name der physischen SQL Server-Instanz kennen zu müssen. Da der Listener Datenverkehr weiterleitet, muss die Clientverbindungszeichenfolge nach einem Failover nicht geändert werden.
Ein Verfügbarkeitsgruppenlistener besteht aus einem DNS (Domain Name System)-Listenernamen, einer Listenerportbezeichnung und mindestens einer IP-Adresse. Nur das TCP-Protokoll wird von Verfügbarkeitsgruppenlistenern unterstützt. Der DNS-Name des Listeners muss in der Domäne und NetBIOS eindeutig sein. Wenn Sie einen Listener erstellen, wird er zu einer Ressource in einem Cluster mit einem zugeordneten virtuellen Netzwerknamen (VNN), einer virtuellen IP (VIP) und mit Verfügbarkeitsgruppenabhängigkeit. Ein Client verwendet DNS, um den VNN in mehrere IP-Adressen aufzulösen, und versucht dann, eine Verbindung mit jeder einzelnen Adresse herzustellen, bis eine Verbindungsanforderung erfolgreich ist oder ein Timeout eintritt.
Wenn für mindestens ein lesbares sekundäres Replikat schreibgeschütztes Routing konfiguriert ist, werden Clientverbindungen zum Listener für beabsichtigte Lesevorgänge automatisch an ein lesbares sekundäres Replikat umgeleitet.
In diesem Artikel erhalten Sie einen Überblick über ein Verfügbarkeitsgruppenlistener. Sie haben auch die Möglichkeit, den Listener zu konfigurieren. Dann erfahren Sie, wie Sie eine Verbindung zum Listener herstellen.
Parameter für Listener
Ein Verfügbarkeitsgruppen-Listener verwendet folgende Parameter:
Ein eindeutiger DNS-Name
Dieser Name ist auch als Virtual Network Name (VNN) bekannt. Es gelten die Active Directory-Benennungsregeln für DNS-Hostnamen. Weitere Informationen finden Sie im KB-Artikel Namenskonventionen in Active Directory für Computer, Domänen, Standorte und Organisationseinheiten .
Eine oder mehrere virtuelle IP-Adressen
Konfigurieren Sie virtuelle IP-Adressen für ein oder mehrere Subnetze, auf die die Verfügbarkeitsgruppe zurückgreifen kann.
Konfiguration von IP-Adressen
Für einen gegebenen Verfügbarkeitsgruppen-Listener kann die IP-Adresse entweder das Dynamic Host Configuration Protocol (DHCP) oder eine oder mehrere statische IP-Adressen verwenden. Die Verwendung von DHCP kann während des Failovers zu Konnektivitätsverzögerungen führen, weshalb es für den Einsatz in Produktionsumgebungen nicht empfohlen wird. Verfügbarkeitsgruppen, die sich über mehrere Subnetze erstrecken oder hybride Netzwerkkonfigurationen verwenden, müssen eine statische IP-Adresse verwenden.
Listener-Port
Wenn Sie einen Verfügbarkeitsgruppen-Listener konfigurieren, müssen Sie über SSMS einen Port festlegen. Du kannst den Standardport auf 1433 setzen, um die Client-Verbindungsfolgen einfach zu halten. Wenn du 1433 verwendest, musst du keine Portnummer in einem Verbindungszeichenfolge für deine Anwendung angeben. Da jeder Verfügbarkeitsgruppen-Listener einen eigenen virtuellen Netzwerknamen hat, kann jeder auf einem WSFC konfigurierte Availability-Group-Listener denselben Standardport 1433 referenzieren.
Wenn Sie den Standardport 1433 für Verfügbarkeitsgruppen-Listener-VNNs verwenden, stellen Sie sicher, dass keine anderen Dienste auf dem Cluster-Knoten diesen Port verwenden. Die Nutzung des Ports durch mehrere Prozesse kann zu einem Konflikt führen.
Wenn eine der Instanzen von SQL Server bereits auf TCP-Port 1433 über den Instanz-Listener lauscht und es keine anderen Dienste (einschließlich zusätzlicher SQL Server-Instanzen) auf dem Computer gibt, der Port 1433 hört, verursacht diese Konfiguration keinen Port-Konflikt mit dem Verfügbarkeitsgruppen-Listener. Diese Konfiguration funktioniert, weil der Verfügbarkeitsgruppen-Listener denselben TCP-Port innerhalb desselben Prozesses teilen kann. Allerdings kann man nicht mehrere SQL Server-Instanzen (nebeneinander) so konfigurieren, dass sie auf demselben Port hören, weil eine von ihnen keine Verbindungen anhört.
Sie können auch einen nicht dem Standard entsprechenden Port für Verfügbarkeitsgruppenlistener festlegen. Allerdings musst du beim Verbinden mit einem Listener explizit den Zielport in deinem Anwendungs-Verbindungszeichenfolge verwenden. Darüber hinaus müssen Sie die Berechtigung für die Firewall für diesen Port öffnen.
Du kannst dich mit dem Hörer verbinden, indem du den Namen und den Port benutzt (falls nicht 1433). Der Port kann entweder der Listenerport oder der zugrunde liegende Port des SQL Servers sein, auf den er für das Lauschen konfiguriert ist.
Einrichten
In den folgenden Beispielen werden einige Funktionen des Listeners veranschaulicht:
- IP-Adresse, an der SQL Server lauscht: 192.168.20.2
- Port, an dem SQL Server lauscht: 50254
- Konfigurierte Listener-IP-Adresse: 192.168.20.15
- Der konfigurierte Listenername: aglistener19
- Konfigurierter Listenerport: 50123
Verbinden Sie sich mit dem Hörer über die IP-Adresse und den Port. Diese Verbindung ist erfolgreich.
sqlcmd -S 192.168.20.15,50123 1>Verbinden Sie sich mit dem Hörer nur über den Namen, ohne Anschluss. Diese Verbindung scheitert, weil ein nicht-standardmäßiger Port verwendet wird. Diesen Port müssen Sie angeben.
sqlcmd -S aglistener19Verbinden Sie sich mit dem Hörer, indem Sie den Listenernamen und den konfigurierten Port verwenden. Diese Verbindung gelingt.
sqlcmd -S aglistener19,50123 1>Stellen Sie schließlich eine Verbindung mit dem Listener und dem SQL Server-Port her. In diesem Fall benutzt du den Port, auf dem der SQL Server zuhört, nicht den Listener-Port. Auch diese Verbindung ist erfolgreich.
sqlcmd -S aglistener19,50254 1>
Verhalten von Clientverbindungen beim Failover
Wenn ein Failover der Verfügbarkeitsgruppe auftritt, beendet der Prozess bestehende persistente Verbindungen zur Verfügbarkeitsgruppe. Der Client muss eine neue Verbindung herstellen, um weiterhin mit derselben Primärdatenbank oder schreibgeschützten Sekundärdatenbank zu arbeiten. Während ein Failover auf der Serverseite stattfindet, kann die Verbindung zur Verfügbarkeitsgruppe ausfallen. Dieser Fehler zwingt die Client-Anwendung, die Verbindung erneut zu versuchen, bis der primäre wieder vollständig online ist.
Wenn die Verfügbarkeitsgruppe während des Verbindungsversuchs einer Clientanwendung, aber vor Ablauf des Zeitlimits für den Verbindungsaufbau, wieder online kommt, kann der Clienttreiber während eines seiner internen Wiederholungsversuche möglicherweise erfolgreich eine Verbindung herstellen. In diesem Fall taucht kein Fehler in der Anwendung auf.