Verbesserung
Der FCI-Listener (Failover Cluster Instance) von SQL Server 2019 und 2016 wurde erweitert, um mit dem DNN-Zugriffspunkt (Distributed Network Name, verteilter Netzwerkname) von Windows Server Failover Cluster (WSFC) zusammenzuarbeiten.
Weitere Informationen
Der Listener der SQL Server-Failoverclusterinstanz (FCI) funktioniert derzeit nur in Verbindung mit dem Netzwerknamen des Windows Server-Failoverclusters (WSFC) und dem virtuellen IP-Zugriffspunkt. Da Virtual IP in der Azure-Umgebung nicht funktioniert, müssen Sie einen internen Azure-Load Balancer konfigurieren, um dieses Problem zu umgehen (siehe Konfigurieren eines internen Azure-Load Balancers).
Dieses Update bietet eine weitere Möglichkeit für den SQL Server-Client, eine Verbindung mit FCI ohne Lastenausgleich herzustellen, indem er die Ressource für den verteilten Netzwerknamen (Distributed Network Name, DNN) in einem Windows Server-Failovercluster verwendet. Wenn eine DNN-Ressource erstellt wird, bindet WSFC den DNN-DNS-Namen an die IP-Adressen aller Knoten im Cluster. Der SQL Server-Client versucht, jede IP-Adresse in dieser Liste zu verbinden, um den Knoten zu finden, auf dem FCI derzeit ausgeführt wird. Dieser Verbindungsprozess wird weiter beschleunigt, indem alle IP-Adressen parallel verbunden werden, wenn die SQL Server-Verbindungseigenschaft MultiSubnetFailover wahr ist. Dadurch kann der SQL Server-Client sofort eine Verbindung mit der aktuell ausgeführten FCI herstellen.
Im Vergleich zur vorherigen Problemumgehung, bei der der interne Azure-Load Balancer verwendet wurde, wird mit dem DNN-Listeneransatz die zusätzliche Failoverlatenz vermieden, die durch die Livemessung des Load Balancers entsteht. Standardmäßig dauert dieser Prozess 10 bis 15 Sekunden. (Informationen zum Berechnen der Latenz finden Sie in diesem Azure-Dokument.) Sie müssen die Load Balancer-Komponenten nicht konfigurieren und warten. Dies vereinfacht den Bereitstellungsprozess. Durch das Entfernen des Load Balancers wird auch eine Komponente entfernt, die potenziell fehlschlagen kann. Dadurch wird die allgemeine Robustheit verbessert.
Die folgenden Schritte sind erforderlich, um dieses Feature verwenden zu können:
Für eine installierte FCI müssen Sie eine DNN-Ressource erstellen und ihren DNS-Namen festlegen. Führen Sie die folgenden drei PowerShell-Befehle als Administrator aus:
-
Add-ClusterResource -Name <dnnResourceName> -ResourceType "Distributed Network Name" -Group "<WSFC role of SQL server instance>"
Get-ClusterResource -Name <dnnResourceName> | Set-ClusterParameter -Name DnsName -Value <DNSName>
Start-ClusterResource -Name <dnnResourceName>
Beispiel:
-
Add-ClusterResource -Name dnn-demo -ResourceType "Distributed Network Name" -Group "SQL Server (MSSQLSERVER)"
Get-ClusterResource -Name dnn-demo | Set-ClusterParameter -Name DnsName -Value dnnlsnr
Start-ClusterResource -Name dnn-demo
Erläuterung:
- Der erste Befehl fügt der WSFC eine DNN-Ressource hinzu, indem er den Ressourcennamen dnnResourceName> angibt<. Der Ressourcenname wird von WSFC verwendet, um eine WSFC-Ressource eindeutig zu identifizieren. Verwenden Sie eine, die für Sie sinnvoll ist und im gesamten WSFC-Cluster einzigartig ist. Der Ressourcentyp muss "Verteilter Netzwerkname" sein. Der Name der Gruppe, zu der diese DNN-Ressource gehört, muss die WSFC-Ressourcengruppe (Rolle) sein, die der FCI entspricht, der Sie die DNN-Ressource hinzufügen möchten. Das typische Format für diesen Gruppennamen ist "SQL Server (instance name)". Daher lautet der Name für die Standard-Instance "SQL Server (MSSQLSERVER)". Sie können den Namen der Gruppe auch in der Failovercluster-Manager-Konsole überprüfen.
- Der zweite Befehl legt den DNS-Namen dieser DNN-Ressource fest. Der DNS-Name ist wichtig, weil er der Name ist, den Clients verwenden, um eine Verbindung mit der FCI herzustellen.
- Mit dem dritten Befehl wird die DNN-Ressource gestartet.
Standardmäßig wird der DNN-DNS-Name an alle Knoten in WSFC gebunden. Konfigurieren Sie den möglichen Besitzer der DNN-Ressource so, dass nur die Knoten dieser FCI enthalten sind, wenn nicht alle Knoten in WSFC an FCI teilnehmen.
-
Add-ClusterResource -Name <dnnResourceName> -ResourceType "Distributed Network Name" -Group "<WSFC role of SQL server instance>"
Starten Sie SQL Server instance neu.
Ersetzen Sie den Virtual Network Name (VNN) in der SQL-Client-Verbindungszeichenfolge durch den DNN-DNS-Namen, und legen Sie die MultiSubnetFailover-Eigenschaft auf "true" fest. Sie können diese Einstellung überspringen, wenn die SQL-Clientversion höher als 4.6.1 ist.
Lösung
Diese Verbesserung ist im folgenden kumulativen Update für SQL Server enthalten:
Informationen zu kumulativen Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Service Pack-Informationen für SQL Server 2016
Dieses Problem ist im folgenden Service Pack für SQL Server behoben:
Informationen zu Service Packs für SQL Server:
Service Packs sind kumulativ. Jedes neue Service Pack enthält neben neuen Updates alle Updates früherer Service Packs. Es wird empfohlen, das neueste Service Pack und das neueste kumulative Update für dieses Service Pack anzuwenden. Sie müssen also keine älteren Versionen eines Service Packs installieren, bevor Sie das neueste Service Pack installieren. In Tabelle 1 im folgenden Artikel finden Sie weitere Informationen zum neuesten Service Pack und zum neuesten kumulativen Update.
Ermitteln der Version, Edition und Updatestufe von SQL Server und seinen Komponenten
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.