Een of meerdere listeners voor Always On-beschikbaarheidsgroep configureren
Van toepassing op: SQL Server op Azure VM
Tip
Er zijn veel methoden om een beschikbaarheidsgroep te implementeren. Vereenvoudig uw implementatie en elimineer de noodzaak van een Azure Load Balancer of gedistribueerde netwerknaam (DNN) voor uw AlwaysOn-beschikbaarheidsgroep door uw virtuele SQL Server-machines (VM's) te maken in meerdere subnetten binnen hetzelfde virtuele Azure-netwerk. Als u uw beschikbaarheidsgroep al in één subnet hebt gemaakt, kunt u deze migreren naar een omgeving met meerdere subnetten.
In dit document ziet u hoe u PowerShell gebruikt om een van de volgende taken uit te voeren:
- een load balancer maken
- IP-adressen toevoegen aan een bestaande load balancer voor SQL Server-beschikbaarheidsgroepen.
Een listener voor beschikbaarheidsgroepen is een naam voor een virtueel netwerk waarmee clients verbinding maken voor databasetoegang. Op virtuele Azure-machines in één subnet bevat een load balancer het IP-adres voor de listener. De load balancer stuurt verkeer naar het exemplaar van SQL Server dat luistert op de testpoort. Normaal gesproken maakt een beschikbaarheidsgroep gebruik van een interne load balancer. Een interne Load Balancer van Azure kan een of meer IP-adressen hosten. Elk IP-adres maakt gebruik van een specifieke testpoort.
De mogelijkheid om meerdere IP-adressen toe te wijzen aan een interne load balancer is nieuw voor Azure en is alleen beschikbaar in het Resource Manager-model. Als u deze taak wilt voltooien, moet er een SQL Server-beschikbaarheidsgroep zijn geïmplementeerd op virtuele Azure-machines in het Resource Manager-model. Beide virtuele SQL Server-machines moeten deel uitmaken van dezelfde beschikbaarheidsset. U kunt de Microsoft-sjabloon gebruiken om automatisch de beschikbaarheidsgroep te maken in Azure Resource Manager. Met deze sjabloon wordt automatisch de beschikbaarheidsgroep gemaakt, inclusief de interne load balancer voor u. U kunt desgewenst handmatig een AlwaysOn-beschikbaarheidsgroep configureren.
Als u de stappen in dit artikel wilt uitvoeren, moeten uw beschikbaarheidsgroepen al zijn geconfigureerd.
Verwante onderwerpen zijn onder andere:
- AlwaysOn-beschikbaarheidsgroepen configureren in Azure VM (GUI)
- Een VNet-naar-VNet-verbinding configureren met behulp van Azure Resource Manager en PowerShell
Notitie
In dit artikel wordt gebruikgemaakt van de Azure Az PowerShell-module. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Een PowerShell-sessie starten
Voer de Verbinding maken-Az Account-cmdlet uit en u krijgt een aanmeldingsscherm te zien om uw referenties in te voeren. Gebruik de referenties waarmee u zich aanmeldt bij de Azure-portal.
Connect-AzAccount
Als u meerdere abonnementen hebt, gebruikt u de cmdlet Set-AzContext om te selecteren welk abonnement uw PowerShell-sessie moet gebruiken. Voer Get-AzContext uit om te zien welk abonnement de huidige PowerShell-sessie gebruikt. Als u al uw abonnementen wilt zien, voert u Get-AzSubscription uit.
Set-AzContext -SubscriptionId '4cac86b0-1e56-bbbb-aaaa-000000000000'
PowerShell-versie bevestigen
De voorbeelden in dit artikel worden getest met behulp van Azure PowerShell-module versie 5.4.1.
Controleer of uw PowerShell-module 5.4.1 of hoger is.
Zie De Azure PowerShell-module installeren.
Windows Firewall configureren
Configureer Windows Firewall om SQL Server-toegang toe te staan. De firewallregels staan TCP-verbindingen toe voor de poorten die worden gebruikt door het SQL Server-exemplaar en de listenertest. Zie Een Windows Firewall configureren voor Database Engine Access voor gedetailleerde instructies. Maak een binnenkomende regel voor de SQL Server-poort en voor de testpoort.
Als u de toegang met een Azure-netwerkbeveiligingsgroep beperkt, moet u ervoor zorgen dat de regels voor toestaan de IP-adressen van de back-end-SQL Server-VM bevatten en de zwevende IP-adressen van de load balancer voor de AG-listener en het IP-adres van de clusterkern, indien van toepassing.
Bepalen welke load balancer-SKU is vereist
Azure Load Balancer is beschikbaar in twee SKU's: Basic & Standard. De standard load balancer wordt aanbevolen omdat de Basic-SKU op 30 september 2025 buiten gebruik wordt gesteld. De standard load balancer is vereist voor virtuele machines in een beschikbaarheidszone. Standard load balancer vereist dat alle IP-adressen van virtuele machines gebruikmaken van standaard-IP-adressen.
De huidige Microsoft-sjabloon voor een beschikbaarheidsgroep maakt gebruik van een eenvoudige load balancer met basis-IP-adressen.
Notitie
U moet een service-eindpunt configureren als u een standaard load balancer en Azure Storage gebruikt voor de cloudwitness.
In de voorbeelden in dit artikel wordt een standard load balancer opgegeven. In de voorbeelden bevat -sku Standard
het script .
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe -sku Standard
Als u een eenvoudige load balancer wilt maken, verwijdert -sku Standard
u deze uit de regel waarmee de load balancer wordt gemaakt. Voorbeeld:
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe
Voorbeeldscript: Een interne load balancer maken met PowerShell
Notitie
Als u uw beschikbaarheidsgroep hebt gemaakt met de Microsoft-sjabloon, is de interne load balancer al gemaakt.
Met het volgende PowerShell-script maakt u een interne load balancer, configureert u de taakverdelingsregels en stelt u een IP-adres in voor de load balancer. Als u het script wilt uitvoeren, opent u Windows PowerShell ISE en plakt u het script in het deelvenster Script. Gebruik Connect-AzAccount
dit om u aan te melden bij PowerShell. Als u meerdere Azure-abonnementen hebt, kunt Select-AzSubscription
u het abonnement instellen.
# Connect-AzAccount
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
$ResourceGroupName = "<Resource Group Name>" # Resource group name
$VNetName = "<Virtual Network Name>" # Virtual network name
$SubnetName = "<Subnet Name>" # Subnet name
$ILBName = "<Load Balancer Name>" # ILB name
$Location = "<Azure Region>" # Azure location
$VMNames = "<VM1>","<VM2>" # Virtual machine names
$ILBIP = "<n.n.n.n>" # IP address
[int]$ListenerPort = "<nnnn>" # AG listener port
[int]$ProbePort = "<nnnn>" # Probe port
$LBProbeName ="ILBPROBE_$ListenerPort" # The Load balancer Probe Object Name
$LBConfigRuleName = "ILBCR_$ListenerPort" # The Load Balancer Rule Object Name
$FrontEndConfigurationName = "FE_SQLAGILB_1" # Object name for the front-end configuration
$BackEndConfigurationName ="BE_SQLAGILB_1" # Object name for the back-end configuration
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
$FEConfig = New-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.id
$BEConfig = New-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName
$SQLHealthProbe = New-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol tcp -Port $ProbePort -IntervalInSeconds 15 -ProbeCount 2
$ILBRule = New-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $SQLHealthProbe -Protocol tcp -FrontendPort $ListenerPort -BackendPort $ListenerPort -LoadDistribution Default -EnableFloatingIP
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe
$bepool = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
foreach($VMName in $VMNames)
{
$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName
$NICName = ($vm.NetworkProfile.NetworkInterfaces.Id.split('/') | select -last 1)
$NIC = Get-AzNetworkInterface -name $NICName -ResourceGroupName $ResourceGroupName
$NIC.IpConfigurations[0].LoadBalancerBackendAddressPools = $BEPool
Set-AzNetworkInterface -NetworkInterface $NIC
start-AzVM -ResourceGroupName $ResourceGroupName -Name $VM.Name
}
Voorbeeldscript: Een IP-adres toevoegen aan een bestaande load balancer met PowerShell
Als u meer dan één beschikbaarheidsgroep wilt gebruiken, voegt u een extra IP-adres toe aan de load balancer. Elk IP-adres vereist een eigen taakverdelingsregel, testpoort en frontpoort. Voeg alleen het primaire IP-adres van de VIRTUELE machine toe aan de back-endpool van de load balancer, omdat het secundaire IP-adres van de VIRTUELE machine geen ondersteuning biedt voor zwevend IP-adres.
De front-endpoort is de poort die toepassingen gebruiken om verbinding te maken met het SQL Server-exemplaar. IP-adressen voor verschillende beschikbaarheidsgroepen kunnen dezelfde front-endpoort gebruiken.
Notitie
Voor SQL Server-beschikbaarheidsgroepen is voor elk IP-adres een specifieke testpoort vereist. Als één IP-adres op een load balancer bijvoorbeeld testpoort 59999 gebruikt, kunnen geen andere IP-adressen op die load balancer testpoort 59999 gebruiken.
- Zie Privé-front-end-IP per load balancer onder Netwerklimieten - Azure Resource Manager voor meer informatie over load balancer-limieten.
- Zie Beperkingen (beschikbaarheidsgroepen) voor informatie over limieten voor beschikbaarheidsgroepen.
Met het volgende script wordt een nieuw IP-adres toegevoegd aan een bestaande load balancer. De ILB gebruikt de listenerpoort voor de front-endpoort voor taakverdeling. Deze poort kan de poort zijn waarop SQL Server luistert. Voor standaardexemplaren van SQL Server is de poort 1433. Voor de taakverdelingsregel voor een beschikbaarheidsgroep is een zwevend IP-adres (direct server return) vereist, zodat de back-endpoort hetzelfde is als de front-endpoort. Werk de variabelen voor uw omgeving bij.
# Connect-AzAccount
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
$ResourceGroupName = "<ResourceGroup>" # Resource group name
$VNetName = "<VirtualNetwork>" # Virtual network name
$SubnetName = "<Subnet>" # Subnet name
$ILBName = "<ILBName>" # ILB name
$ILBIP = "<n.n.n.n>" # IP address
[int]$ListenerPort = "<nnnn>" # AG listener port
[int]$ProbePort = "<nnnnn>" # Probe port
$ILB = Get-AzLoadBalancer -Name $ILBName -ResourceGroupName $ResourceGroupName
$count = $ILB.FrontendIpConfigurations.Count+1
$FrontEndConfigurationName ="FE_SQLAGILB_$count"
$LBProbeName = "ILBPROBE_$count"
$LBConfigrulename = "ILBCR_$count"
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
$ILB | Add-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.Id
$ILB | Add-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol Tcp -Port $Probeport -ProbeCount 2 -IntervalInSeconds 15 | Set-AzLoadBalancer
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
$FEConfig = get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$SQLHealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
$BEConfig = Get-AzLoadBalancerBackendAddressPoolConfig -Name $ILB.BackendAddressPools[0].Name -LoadBalancer $ILB
$ILB | Add-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $SQLHealthProbe -Protocol tcp -FrontendPort $ListenerPort -BackendPort $ListenerPort -LoadDistribution Default -EnableFloatingIP | Set-AzLoadBalancer
De listener configureren
De listener voor de beschikbaarheidsgroep is een IP-adres en netwerknaam waarnaar de SQL Server-beschikbaarheidsgroep luistert. De listener voor beschikbaarheidsgroepen maken:
Haal de naam van de clusternetwerkresource op:
a. Gebruik RDP om verbinding te maken met de Azure-VM die de primaire replica host.
b. Open Failoverclusterbeheer.
c. Selecteer het knooppunt Netwerken en noteer de naam van het clusternetwerk. Gebruik deze naam in de variabele
$ClusterNetworkName
in het PowerShell-script. In de volgende afbeelding is de clusternetwerknaam Cluster Network 1:Voeg het clienttoegangspunt toe. Het clienttoegangspunt is de netwerknaam die toepassingen gebruiken om verbinding te maken met de databases in een beschikbaarheidsgroep.
a. Vouw in Failoverclusterbeheer de clusternaam uit en selecteer vervolgens Rollen.
b. Klik in het deelvenster Rollen met de rechtermuisknop op de naam van de beschikbaarheidsgroep en selecteer vervolgens Toegangspunt voor resourceclient>toevoegen.
c. Maak in het venster Naam een naam voor deze nieuwe listener. De naam van de nieuwe listener is de netwerknaam die toepassingen gebruiken om verbinding te maken met databases in de SQL Server-beschikbaarheidsgroep.
d. Als u het maken van de listener wilt voltooien, selecteert u volgende twee keer en selecteert u Voltooien. Breng de listener of resource op dit moment niet online.
Haal de clusterrol voor de beschikbaarheidsgroep offline. Klik in Failoverclusterbeheer onder Rollen met de rechtermuisknop op de rol en selecteer Rol stoppen.
Configureer de IP-resource voor de beschikbaarheidsgroep:
a. Selecteer het tabblad Resources en vouw vervolgens het clienttoegangspunt uit dat u hebt gemaakt. Het clienttoegangspunt is offline.
b. Klik met de rechtermuisknop op de IP-resource en selecteer Vervolgens Eigenschappen. Noteer de naam van het IP-adres en gebruik het in de variabele
$IPResourceName
in het PowerShell-script.c. Selecteer onder IP-adres het statische IP-adres. Stel het IP-adres in op hetzelfde adres dat je hebt gebruikt toen u het adres van de load balancer instelde in de Azure Portal.
Maak de SQL Server-beschikbaarheidsgroep afhankelijk van het clienttoegangspunt:
a. Selecteer in Failoverclusterbeheer rollen en selecteer vervolgens uw beschikbaarheidsgroep.
b. Klik op het tabblad Resources onder Overige resources met de rechtermuisknop op de resource van de beschikbaarheidsgroep en selecteer Vervolgens Eigenschappen.
c. Voeg op het tabblad Afhankelijkheden de naam van het clienttoegangspunt (de listener) toe.
d. Selecteer OK.
Maak het clienttoegangspunt afhankelijk van het IP-adres:
a. Selecteer in Failoverclusterbeheer rollen en selecteer vervolgens uw beschikbaarheidsgroep.
b. Klik op het tabblad Resources met de rechtermuisknop op het clienttoegangspunt onder Servernaam en selecteer Vervolgens Eigenschappen.
c. Selecteer het tabblad Afhankelijkheden . Controleer of het IP-adres een afhankelijkheid is. Als dit niet het probleem is, stelt u een afhankelijkheid van het IP-adres in. Als er meerdere resources worden vermeld, controleert u of de IP-adressen OF, niet EN, afhankelijkheden hebben. Selecteer vervolgens OK.
Tip
U kunt controleren of de afhankelijkheden correct zijn geconfigureerd. Ga in Failoverclusterbeheer naar Rollen, klik met de rechtermuisknop op de beschikbaarheidsgroep, selecteer Meer acties en selecteer Vervolgens Afhankelijkheidsrapport weergeven. Wanneer de afhankelijkheden correct zijn geconfigureerd, is de beschikbaarheidsgroep afhankelijk van de netwerknaam en is de netwerknaam afhankelijk van het IP-adres.
Stel de clusterparameters in PowerShell in:
a. Kopieer het volgende PowerShell-script naar een van uw SQL Server-exemplaren. Werk de variabelen voor uw omgeving bij.
$ClusterNetworkName
zoek de naam in Failoverclusterbeheer door Netwerken te selecteren, met de rechtermuisknop op het netwerk te klikken en Eigenschappen te selecteren. De $ClusterNetworkName bevindt zich onder Naam op het tabblad Algemeen.$IPResourceName
is de naam die wordt gegeven aan de IP-adresresource in Failoverclusterbeheer. Dit is te vinden in failoverclusterbeheer door rollen te selecteren, de naam van de SQL Server-AG of FCI te selecteren, het tabblad Resources onder Servernaam te selecteren, met de rechtermuisknop op de IP-adresresource te klikken en Eigenschappen te selecteren. De juiste waarde ziet u op het tabblad Algemeen, bij Naam.$ListenerILBIP
is het IP-adres dat u hebt gemaakt in de Azure load balancer voor de listener voor de beschikbaarheidsgroep. Zoek de $ListenerILBIP in Failoverclusterbeheer op dezelfde eigenschappenpagina als de resourcenaam van de SQL Server-AG/FCI-listener.$ListenerProbePort
is de poort die u hebt geconfigureerd op de Azure Load Balancer voor de listener van de beschikbaarheidsgroep, zoals 59999. Elke ongebruikte TCP-poort is geldig.
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name. $IPResourceName = "<IPResourceName>" # The IP address resource name. $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal. [int]$ListenerProbePort = <nnnnn> Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
b. Stel de clusterparameters in door het PowerShell-script uit te voeren in een van de clusterknooppunten.
Notitie
Als uw SQL Server-exemplaren zich in een andere regio bevinden, moet u het PowerShell-script twee keer uitvoeren. De eerste keer gebruikt u de
$ListenerILBIP
en$ListenerProbePort
waarden uit de eerste regio. De tweede keer gebruikt u de$ListenerILBIP
en$ListenerProbePort
waarden uit de tweede regio. De clusternetwerknaam en de IP-resourcenaam van het cluster zijn ook verschillend voor elke regio.Breng de clusterrol voor de beschikbaarheidsgroep online. Klik in Failoverclusterbeheer onder Rollen met de rechtermuisknop op de rol en selecteer Rol starten.
Herhaal indien nodig de voorgaande stappen om de clusterparameters in te stellen voor het IP-adres van het Windows Server-failovercluster:
Haal de IP-adresnaam van het Windows Server-failovercluster op. Zoek in Failoverclusterbeheer, onder ClusterKernresources, de servernaam.
Klik met de rechtermuisknop op IP-adres en selecteer Vervolgens Eigenschappen.
Kopieer de naam van het IP-adres uit de naam. Dit kan het IP-adres van het cluster zijn.
Stel de clusterparameters in PowerShell in:
a. Kopieer het volgende PowerShell-script naar een van uw SQL Server-exemplaren. Werk de variabelen voor uw omgeving bij.
$ClusterCoreIP
is het IP-adres dat u hebt gemaakt op de Azure Load Balancer voor de kernclusterresource van het Windows Server-failovercluster. Dit verschilt van het IP-adres voor de listener van de beschikbaarheidsgroep.$ClusterProbePort
is de poort die u hebt geconfigureerd op de Azure Load Balancer voor de statustest van het Windows Server-failovercluster. Dit verschilt van de test voor de listener van de beschikbaarheidsgroep.
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name. $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name. $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal. [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener. Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
b. Stel de clusterparameters in door het PowerShell-script uit te voeren in een van de clusterknooppunten.
Als een SQL-resource is geconfigureerd voor het gebruik van een poort tussen 49152 en 65536 (het standaard dynamische poortbereik voor TCP/IP), voegt u een uitsluiting toe voor elke poort. Dergelijke resources kunnen het volgende omvatten:
- SQL Server-database-engine
- AlwaysOn-listener voor beschikbaarheidsgroepen
- Statustest voor het failoverclusterexemplaren
- Eindpunt voor databasespiegeling
- IP-resource van clusterkern
Als u een uitsluiting toevoegt, wordt voorkomen dat andere systeemprocessen dynamisch worden toegewezen aan dezelfde poort. Voor dit scenario configureert u de volgende uitsluitingen op alle clusterknooppunten:
netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent
Het is belangrijk om de poortuitsluiting te configureren wanneer de poort niet in gebruik is. Anders mislukt de opdracht met een bericht als 'Het proces heeft geen toegang tot het bestand omdat het wordt gebruikt door een ander proces'. Gebruik de volgende opdracht om te bevestigen dat de uitsluitingen correct zijn geconfigureerd: netsh int ipv4 show excludedportrange tcp
Waarschuwing
De poort voor de statustest van de beschikbaarheidsgroeplistener moet afwijken van de poort voor de statustest van het clusterkern-IP-adres. In deze voorbeelden is de listenerpoort 59999 en is de statustestpoort van het clusterkern-IP-adres 58888. Voor beide poorten is een firewallregel voor binnenkomend verkeer toestaan vereist.
De listenerpoort instellen in SQL Server Management Studio
Start SQL Server Management Studio en maak verbinding met de primaire replica.
Navigeer naar Listeners voor beschikbaarheidsgroepen>met hoge beschikbaarheid>van AlwaysOn.
U ziet nu de naam van de listener die u hebt gemaakt in Failoverclusterbeheer. Klik met de rechtermuisknop op de naam en selecteer Eigenschappen.
Geef in het vak Poort het poortnummer op voor de listener van de beschikbaarheidsgroep met behulp van de $EndpointPort die u eerder hebt gebruikt (1433 was de standaardinstelling) en selecteer VERVOLGENS OK.
De verbinding met de listener testen
Test als volgt de verbinding:
Gebruik Remote Desktop Protocol (RDP) om verbinding te maken met een SQL Server die zich in hetzelfde virtuele netwerk bevindt, maar die geen eigenaar is van de replica. Dit kan de andere SQL Server in het cluster zijn.
Gebruik het hulpprogramma sqlcmd om de verbinding te testen. Met het volgende script wordt bijvoorbeeld met Windows-verificatie een sqlcmd-verbinding met de primaire replica tot stand gebracht via de listener:
sqlcmd -S <listenerName> -E
Als de listener een andere poort dan de standaardpoort (1433) gebruikt, geeft u de poort op in de verbindingsreeks. De volgende sqlcmd-opdracht maakt bijvoorbeeld verbinding met een listener op poort 1435:
sqlcmd -S <listenerName>,1435 -E
De SQLCMD-verbinding maakt automatisch verbinding met het exemplaar van SQL Server dat als host voor de primaire replica fungeert.
Notitie
Zorg ervoor dat de poort die u opgeeft, geopend is op de firewall van beide SQL-servers. Voor beide servers is een regel voor binnenkomende verbindingen vereist voor de TCP-poort die u gebruikt. Zie Add or Edit Firewall Rule (Firewallregel toevoegen of bewerken) voor meer informatie.
Als u zich op de secundaire replica-VM en u geen verbinding kunt maken met de listener, is de testpoort mogelijk niet correct geconfigureerd.
U kunt het volgende script gebruiken om te controleren of de testpoort correct is geconfigureerd voor de beschikbaarheidsgroep:
Clear-Host
Get-ClusterResource `
| Where-Object {$_.ResourceType.Name -like "IP Address"} `
| Get-ClusterParameter `
| Where-Object {($_.Name -like "Network") -or ($_.Name -like "Address") -or ($_.Name -like "ProbePort") -or ($_.Name -like "SubnetMask")}
Richtlijnen en beperkingen
Let op de volgende richtlijnen voor listener voor beschikbaarheidsgroepen in Azure met behulp van een interne load balancer:
Met een interne load balancer hebt u alleen toegang tot de listener vanuit hetzelfde virtuele netwerk.
Als u de toegang met een Azure-netwerkbeveiligingsgroep beperkt, moet u ervoor zorgen dat de regels voor toestaan zijn:
- De IP-adressen van de BACK-end-SQL Server-VM
- De zwevende IP-adressen van de load balancer voor de AG-listener
- Het IP-adres van de clusterkern, indien van toepassing.
Maak een service-eindpunt wanneer u een standaard load balancer gebruikt met Azure Storage voor de cloudwitness. Zie Toegang verlenen vanuit een virtueel netwerk voor meer informatie.
PowerShell-cmdlets
Gebruik de volgende PowerShell-cmdlets om een interne load balancer voor virtuele Azure-machines te maken.
- New-AzLoadBalancer maakt een load balancer.
- New-AzLoadBalancerFrontendIpConfig maakt een front-end-IP-configuratie voor een load balancer.
- New-AzLoadBalancerRuleConfig maakt een regelconfiguratie voor een load balancer.
- New-AzLoadBalancerBackendAddressPoolConfig maakt een configuratie van een back-endadresgroep voor een load balancer.
- New-AzLoadBalancerProbeConfig maakt een testconfiguratie voor een load balancer.
- Met Remove-AzLoadBalancer wordt een load balancer uit een Azure-resourcegroep verwijderd.
Volgende stappen
Raadpleeg voor meer informatie: