KB4537868 - Verbetering: DNN-functie inschakelen in SQL Server 2016 en 2019 FCI

Van toepassing op
SQL Server 2019 on Windows SQL Server 2016 SQL Server 2016 Service Pack 3 - duplicate (do not use)

Verbetering

De FCI-listener (Failover Cluster-exemplaar) van SQL Server 2019 en 2016 werkt nu beter samen met het DNN-toegangspunt (Distributed Network Name) van het Windows Server-failovercluster (WSFC).

Meer informatie

SQL Server FCI-listener (Failover Cluster Instance) werkt momenteel alleen samen met de netwerknaam van de Windows Server Failover Cluster (WSFC) en het virtuele IP-toegangspunt. Omdat Virtual IP niet werkt in de Azure-omgeving, moet u een interne Azure Load Balancer configureren om dit probleem te omzeilen (zie hoe u een interne Load Balancer van Azure configureert).

Deze update biedt een andere manier voor de SQL Server-client om verbinding te maken met FCI zonder een load balancer met behulp van de DNN-bron (Distributed Network Name) in een failovercluster van Windows Server. Wanneer een DNN-bron wordt gemaakt, bindt WSFC de DNN DNS-naam aan de IP-adressen van alle knooppunten in het cluster. De SQL Server-client probeert elk IP-adres in deze lijst te verbinden om het knooppunt te vinden waarop FCI momenteel wordt uitgevoerd. Dit verbindingsproces wordt verder versneld door alle IP-adressen parallel te verbinden als de SQL Server-verbindingseigenschap MultiSubnetFailover waar is. Hierdoor kan de SQL Server-client direct verbinding maken met de FCI die momenteel actief is.

Vergeleken met de vorige tijdelijke oplossing met de interne Load Balancer van Azure, voorkomt de DNN-listenerbenadering de extra failoverlatentie die wordt geïntroduceerd door liveness-probing van de load balancer. Dit proces duurt standaard 10-15 seconden. (Zie dit Azure-document voor meer informatie over het berekenen van de latentie.) Je hoeft de onderdelen van de load balancer niet te configureren en te onderhouden. Dit vereenvoudigt het inrichtingsproces. Als je de load balancer verwijdert, wordt ook één onderdeel verwijderd dat mogelijk uitvalt. Dit verbetert de algehele robuustheid.

U moet de volgende stappen uitvoeren om deze functie te gebruiken:

  1. Voor een geïnstalleerde FCI moet u een DNN-bron maken en de DNS-naam instellen. Voer de volgende drie PowerShell-opdrachten uit als beheerder:

    • 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>

    Bijvoorbeeld:

    • 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

    Uitleg:

    • Met de eerste opdracht wordt een DNN-bron toegevoegd aan de WSFC met de bronnaam <dnnResourceName>. De resourcenaam wordt door WSFC gebruikt om een WSFC-resource uniek te identificeren. Gebruik er een die voor jou logisch is en uniek is in het WSFC-cluster. Het brontype moet Gedistribueerde netwerknaam zijn. De naam van de groep waartoe deze DNN-bron behoort, moet de WSFC-resourcegroep (rol) zijn die overeenkomt met de FCI waaraan u de DNN-bron wilt toevoegen. De typische notatie van deze groepsnaam is 'SQL Server (instantienaam)'. Daarom is de naam voor het standaardexemplaar 'SQL Server (MSSQLSERVER)'. U kunt ook de naam van de groep controleren in de Failoverclusterbeheerconsole.
    • Met de tweede opdracht stelt u de DNS-naam van deze DNN-bron in. De DNS-naam is belangrijk omdat dit de naam is die clients gebruiken om verbinding te maken met de FCI.
    • Met de derde opdracht start u de DNN-bron.
      Standaard bindt de DNN DNS-naam zich aan alle knooppunten in WSFC. Configureer de mogelijke eigenaar van de DNN-bron om alleen de knooppunten van deze FCI op te nemen als niet alle knooppunten in WSFC deelnemen aan FCI.
  2. Start het SQL Server-exemplaar opnieuw.

  3. Vervang de Virtual Network Name (VNN) in de verbindingsreeks van de SQL-client door de DNN DNS-naam en stel de eigenschap MultiSubnetFailover in op 'true'. U kunt deze instelling overslaan als de SQL-clientversie hoger is dan 4.6.1.

Oplossing

Deze verbetering is opgenomen in de volgende cumulatieve update voor SQL Server:

Over cumulatieve updates voor SQL Server:

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

Servicepackinformatie voor SQL Server 2016

Dit probleem is opgelost in het volgende servicepack voor SQL Server:

Over servicepacks voor SQL Server:

Servicepacks zijn cumulatief. Elk nieuw servicepack bevat alle correcties uit vorige servicepacks, samen met nieuwe oplossingen. U wordt aangeraden het nieuwste servicepack en de meest recente cumulatieve update voor dit servicepack toe te passen. U hoeft geen eerdere servicepack te installeren voordat u het nieuwste servicepack installeert. Gebruik tabel 1 in het volgende artikel voor meer informatie over het nieuwste servicepack en de meest recente cumulatieve update.

De versie, editie en update niveau van SQL Server en de onderdelen ervan bepalen

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.