Share via


Configure one or more Always On availability group listeners

A következőre vonatkozik:SQL Server azure-beli virtuális gépen

Tipp.

Egy rendelkezésre állási csoport üzembe helyezésének számos módja van. Egyszerűsítse az üzembe helyezést, és szükségtelenné teszi az Azure Load Balancer vagy az elosztott hálózatnév (DNN) használatát az Always On rendelkezésre állási csoport számára azáltal, hogy sql serveres virtuális gépeket (VM-eket) hoz létre több alhálózatban ugyanazon az Azure-beli virtuális hálózaton belül. Ha már létrehozta a rendelkezésre állási csoportot egyetlen alhálózatban, migrálhatja azt egy több alhálózatos környezetbe.

Ez a dokumentum bemutatja, hogyan végezheti el az alábbi feladatok egyikét a PowerShell használatával:

  • terheléselosztó létrehozása
  • IP-címeket adhat hozzá egy meglévő terheléselosztóhoz az SQL Server rendelkezésre állási csoportjaihoz.

A rendelkezésre állási csoport figyelője egy virtuális hálózat neve, amelyhez az ügyfelek adatbázis-hozzáférés céljából csatlakoznak. Az egyetlen alhálózatban lévő Azure-beli virtuális gépeken egy terheléselosztó tárolja a figyelő IP-címét. A terheléselosztó a mintavételi porton figyelő SQL Server-példányra irányítja a forgalmat. A rendelkezésre állási csoportok általában belső terheléselosztót használnak. Egy Belső Azure-terheléselosztó egy vagy több IP-címet üzemeltethet. Minden IP-cím egy adott mintavételi portot használ.

A belső terheléselosztóhoz több IP-cím hozzárendelésének lehetősége új az Azure-ban, és csak a Resource Manager-modellben érhető el. A feladat elvégzéséhez telepítenie kell egy SQL Server rendelkezésre állási csoportot az Azure-beli virtuális gépeken a Resource Manager-modellben. Mindkét SQL Server virtuális gépnek ugyanahhoz a rendelkezésre állási csoporthoz kell tartoznia. A Microsoft-sablonnal automatikusan létrehozhatja a rendelkezésre állási csoportot az Azure Resource Managerben. Ez a sablon automatikusan létrehozza a rendelkezésre állási csoportot, beleértve a belső terheléselosztót is. Tetszés szerint manuálisan konfigurálhat egy Always On rendelkezésre állási csoportot.

A cikkben ismertetett lépések végrehajtásához a rendelkezésre állási csoportokat már konfigurálni kell.

Kapcsolódó témakörök:

Megjegyzés:

Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való interakcióhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez lásd az Azure PowerShell telepítését ismertető szakaszt. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Indítsa el a PowerShell-munkamenetet

Futtassa az Csatlakozás-Az Fiók parancsmagot, és megjelenik egy bejelentkezési képernyő a hitelesítő adatok megadásához. Használja a hitelesítő adatokat, amelyeket az Azure Portalra való bejelentkezéshez használ.

Connect-AzAccount

Ha több előfizetéssel rendelkezik, a Set-AzContext parancsmaggal válassza ki, hogy melyik előfizetést használja a PowerShell-munkamenet. Az aktuális PowerShell-munkamenet által használt előfizetés megtekintéséhez futtassa a Get-AzContext parancsot. Az összes előfizetés megtekintéséhez futtassa a Get-AzSubscription parancsot.

Set-AzContext -SubscriptionId '4cac86b0-1e56-bbbb-aaaa-000000000000'

A PowerShell verziójának ellenőrzése

A cikkben szereplő példákat az Azure PowerShell-modul 5.4.1-es verziójával teszteljük.

Ellenőrizze, hogy a PowerShell-modul 5.4.1 vagy újabb-e.

Lásd : Az Azure PowerShell-modul telepítése.

A Windows tűzfal konfigurálása

Konfigurálja a Windows tűzfalat az SQL Server-hozzáférés engedélyezéséhez. A tűzfalszabályok lehetővé teszik az SQL Server-példány és a figyelő mintavétele által használt portokhoz való TCP-kapcsolatokat. Részletes útmutatásért lásd: Windows tűzfal konfigurálása adatbázismotor-hozzáféréshez. Hozzon létre egy bejövő szabályt az SQL Server-porthoz és a mintavételi porthoz.

Ha azure-beli hálózati biztonsági csoporttal korlátozza a hozzáférést, győződjön meg arról, hogy az engedélyezési szabályok tartalmazzák a háttérbeli SQL Server virtuálisgép-IP-címeket, valamint a terheléselosztó lebegő IP-címeit az AG-figyelőhöz és a fürtmag IP-címét, ha vannak.

A terheléselosztó szükséges termékváltozatának meghatározása

Az Azure Load Balancer két termékváltozatban érhető el: Basic > Standard. A standard terheléselosztó használata ajánlott, mivel az alapszintű termékváltozatot 2025. szeptember 30-án kivezetik. A rendelkezésre állási zónában lévő virtuális gépekhez a standard terheléselosztó szükséges. A standard terheléselosztó megköveteli, hogy minden virtuálisgép-IP-cím szabványos IP-címeket használjon.

A rendelkezésre állási csoport jelenlegi Microsoft-sablonja alapszintű terheléselosztót használ alapszintű IP-címekkel.

Megjegyzés:

Szolgáltatásvégpontot kell konfigurálnia, ha standard terheléselosztót és Azure Storage-t használ a felhőbeli tanúsító számára.

A cikkben szereplő példák egy szabványos terheléselosztót határoznak meg. A példákban a szkript tartalmazza a következőt -sku Standard: .

$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe -sku Standard

Alapszintű terheléselosztó létrehozásához távolítsa el -sku Standard a terheléselosztót létrehozó sort. Például:

$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe

Példaszkript: Belső terheléselosztó létrehozása a PowerShell-lel

Megjegyzés:

Ha a rendelkezésre állási csoportot a Microsoft-sablonnal hozta létre, a belső terheléselosztó már létrejött.

A következő PowerShell-szkript létrehoz egy belső terheléselosztót, konfigurálja a terheléselosztási szabályokat, és beállít egy IP-címet a terheléselosztóhoz. A szkript futtatásához nyissa meg a Windows PowerShell I Standard kiadás, majd illessze be a szkriptet a Szkript panelre. A PowerShellbe való bejelentkezéshez használható Connect-AzAccount . Ha több Azure-előfizetéssel rendelkezik, használja Select-AzSubscription az előfizetés beállítását.

# 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 
    }

Példaszkript: IP-cím hozzáadása meglévő terheléselosztóhoz a PowerShell használatával

Több rendelkezésre állási csoport használatához adjon hozzá egy további IP-címet a terheléselosztóhoz. Minden IP-címhez saját terheléselosztási szabály, mintavételi port és előtérport szükséges. Csak a virtuális gép elsődleges IP-címét adja hozzá a terheléselosztó háttérkészletéhez, mivel a másodlagos virtuális gép IP-címe nem támogatja a lebegő IP-címet.

Az előtérbeli port az a port, amelyet az alkalmazások az SQL Server-példányhoz való csatlakozáshoz használnak. A különböző rendelkezésre állási csoportok IP-címei ugyanazt az előtérportot használhatják.

Megjegyzés:

Az SQL Server rendelkezésre állási csoportjaihoz minden IP-címhez szükség van egy adott mintavételi portra. Ha például egy terheléselosztón egy IP-cím az 59999-ös mintavételi portot használja, a terheléselosztón lévő többi IP-cím nem használhatja az 59999-ös mintavételi portot.

  • A terheléselosztó korlátaival kapcsolatos információkért lásd: Privát előtérbeli IP-cím terheléselosztónként a hálózatkezelési korlátok alatt – Azure Resource Manager.
  • A rendelkezésre állási csoport korlátairól a Korlátozások (Rendelkezésre állási csoportok) című témakörben olvashat.

Az alábbi szkript egy új IP-címet ad hozzá egy meglévő terheléselosztóhoz. Az ILB a figyelőportot használja a terheléselosztási előtérbeli porthoz. Ez a port lehet az SQL Server által figyelt port. Az SQL Server alapértelmezett példányai esetében a port 1433. A rendelkezésre állási csoport terheléselosztási szabályához lebegő IP-címre (közvetlen kiszolgálóvissza) van szükség, így a háttérport megegyezik az előtérportéval. Frissítse a környezet változóit.

# 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   

Configure the listener

A rendelkezésreállási csoport figyelője egy IP-cím és hálózatnév, amelyen az SQL Server rendelkezésreállási csoportja figyel. A rendelkezésre állási csoport figyelőjének létrehozása:

  1. Kérje le a fürt hálózati erőforrásának nevét:

    a. Az RDP használatával csatlakozzon az elsődleges replikát üzemeltető Azure-beli virtuális géphez.

    b. Nyissa meg a Feladatátvevőfürt-kezelőt.

    c. Jelölje ki a Hálózatok csomópontot, és jegyezze fel a fürt hálózatának nevét. Használja ezt a nevet a $ClusterNetworkName Változóban a PowerShell-szkriptben. Az alábbi képen a fürthálózat neve 1. fürthálózat:

    Screenshot that shows a cluster network name in Failover Cluster Manager.

  2. Adja hozzá az ügyfél-hozzáférési pontot. Az ügyfél hozzáférési pontja az a hálózatnév, amelyet az alkalmazások a rendelkezésre állási csoport adatbázisaihoz való csatlakozáshoz használnak.

    a. A Feladatátvevőfürt-kezelőben bontsa ki a fürt nevét, majd válassza a Szerepkörök lehetőséget.

    b. A Szerepkörök panelen kattintson a jobb gombbal a rendelkezésre állási csoport nevére, majd válassza az Erőforrás-ügyfél>hozzáférési pont hozzáadása lehetőséget.

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

    c. A Név mezőben hozzon létre egy nevet ennek az új figyelőnek. Az új figyelő neve az a hálózati név, amelyet az alkalmazások az SQL Server rendelkezésre állási csoportjában lévő adatbázisokhoz való csatlakozáshoz használnak.

    d. A figyelő létrehozásának befejezéséhez kattintson kétszer a Tovább gombra, majd a Befejezés gombra. Jelenleg ne hozza online állapotba a figyelőt vagy az erőforrást.

  3. A rendelkezésre állási csoport fürtszerepkörének offline állapotba helyezése. A Feladatátvevőfürt-kezelő Szerepkörök csoportjában kattintson a jobb gombbal a szerepkörre, majd válassza a Szerepkör leállítása lehetőséget.

  4. Konfigurálja a rendelkezésre állási csoport IP-erőforrását:

    a. Válassza az Erőforrások lapot, majd bontsa ki a létrehozott ügyfél-hozzáférési pontot. Az ügyfél hozzáférési pontja offline állapotban van.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

    b. Kattintson a jobb gombbal az IP-erőforrásra, majd válassza a Tulajdonságok lehetőséget. Jegyezze fel az IP-cím nevét, és használja a $IPResourceName Változóban a PowerShell-szkriptben.

    c. Az IP-cím területen válassza a Statikus IP-cím lehetőséget. Állítsa be az IP-címet ugyanazzal a címmel, amelyet az Azure Portal terheléselosztó-címének beállításakor használt.

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  5. Az SQL Server rendelkezésre állási csoportjának függővé tétele az ügyfél hozzáférési ponttól:

    a. A Feladatátvevőfürt-kezelőben válassza a Szerepkörök lehetőséget, majd válassza ki a rendelkezésre állási csoportot.

    b. Az Erőforrások lap Egyéb erőforrások csoportjában kattintson a jobb gombbal a rendelkezésre állási csoport erőforrására, majd válassza a Tulajdonságok lehetőséget.

    c. A Függőségek lapon adja hozzá az ügyfél hozzáférési pontjának (a figyelőnek) a nevét.

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    d. Kattintson az OK gombra.

  6. Az ügyfél hozzáférési pontjának függővé tétele az IP-címtől:

    a. A Feladatátvevőfürt-kezelőben válassza a Szerepkörök lehetőséget, majd válassza ki a rendelkezésre állási csoportot.

    b. Az Erőforrások lapon kattintson a jobb gombbal az ügyfél hozzáférési pontjára a Kiszolgáló neve területen, majd válassza a Tulajdonságok lehetőséget.

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    c. Válassza a Függőségek lapot. Ellenőrizze, hogy az IP-cím függőség-e. Ha nem, állítson be függőséget az IP-címhez. Ha több erőforrás is szerepel a listában, ellenőrizze, hogy az IP-címek vagy nem és függőségekkel rendelkeznek-e. Ezután válassza az OK gombra.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    Tipp.

    Ellenőrizheti, hogy a függőségek megfelelően vannak-e konfigurálva. A Feladatátvevőfürt-kezelőben lépjen a Szerepkörök elemre, kattintson a jobb gombbal a rendelkezésre állási csoportra, válassza a További műveletek lehetőséget, majd válassza a Függőségi jelentés megjelenítése lehetőséget. Ha a függőségek megfelelően vannak konfigurálva, a rendelkezésre állási csoport a hálózat nevétől függ, a hálózat neve pedig az IP-címtől függ.

  7. A fürtparaméterek beállítása a PowerShellben:

    a. Másolja a következő PowerShell-szkriptet az egyik SQL Server-példányba. Frissítse a környezet változóit.

    • $ClusterNetworkNameKeresse meg a nevet a Feladatátvevőfürt-kezelőben a Hálózatok elemre kattintva, kattintson a jobb gombbal a hálózatra, és válassza a Tulajdonságok lehetőséget. A $ClusterNetworkName az Általános lap Név területén található.

    • $IPResourceNamea Feladatátvevőfürt-kezelő IP-cím erőforrásának megadott név. Ez a Feladatátvevőfürt-kezelőben található a Szerepkörök, az SQL Server AG vagy az FCI név kiválasztásával, a Kiszolgáló neve alatt az Erőforrások lapfülre, kattintson a jobb gombbal az IP-cím erőforrására, és válassza a Tulajdonságok lehetőséget. A helyes érték az Általános lap Név részén található.

    • $ListenerILBIP A rendelkezésre állási csoport figyelőjének azure-terheléselosztóján létrehozott IP-cím. Keresse meg a $ListenerILBIP a Feladatátvevőfürt-kezelőben az SQL Server AG/FCI-figyelő erőforrás nevével megegyező tulajdonságok oldalán.

    • $ListenerProbePort A rendelkezésre állási csoport figyelőjéhez az Azure Load Balancerben konfigurált port, például 59999. Any unused TCP port is valid.

    $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. A fürtparaméterek beállításához futtassa a PowerShell-szkriptet az egyik fürtcsomóponton.

    Megjegyzés:

    Ha az SQL Server-példányok külön régiókban találhatók, kétszer kell futtatnia a PowerShell-szkriptet. Az első alkalommal használja az $ListenerILBIP első régió értékeit és $ListenerProbePort értékeit. A második alkalommal használja a $ListenerILBIP második régió értékeit és $ListenerProbePort értékeit. A fürt hálózati neve és a fürt IP-erőforrásának neve is eltérő az egyes régiókban.

  8. A rendelkezésre állási csoport fürtszerepkörének online állapotba helyezése. A Feladatátvevőfürt-kezelő Szerepkörök csoportjában kattintson a jobb gombbal a szerepkörre, majd válassza a Szerepkör indítása parancsot.

Ha szükséges, ismételje meg az előző lépéseket a Windows Server feladatátvevő fürt IP-címéhez tartozó fürtparaméterek beállításához:

  1. Kérje le a Windows Server feladatátvevő fürt IP-címének nevét. A Feladatátvevőfürt-kezelő Fürt alapvető erőforrásai területén keresse meg a kiszolgáló nevét.

  2. Kattintson a jobb gombbal az IP-címre, majd válassza a Tulajdonságok lehetőséget.

  3. Másolja ki az IP-cím nevét a Név fájlból. Lehet, hogy fürt IP-címe.

  4. A fürtparaméterek beállítása a PowerShellben:

    a. Másolja a következő PowerShell-szkriptet az egyik SQL Server-példányba. Frissítse a környezet változóit.

    • $ClusterCoreIP A Windows Server feladatátvevő fürt fő fürterőforrásához létrehozott IP-cím az Azure Load Balancerben. Ez eltér a rendelkezésre állási csoport figyelőjének IP-címétől.

    • $ClusterProbePort Az a port, amelyet a Windows Server feladatátvevő fürt állapotadat-mintavételéhez konfigurált az Azure-terheléselosztón. Ez eltér a rendelkezésre állási csoport figyelőjének mintavételétől.

    $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. A fürtparaméterek beállításához futtassa a PowerShell-szkriptet az egyik fürtcsomóponton.

Ha bármely SQL-erőforrás úgy van konfigurálva, hogy 49152 és 65536 közötti portot használjon (a TCP/IP alapértelmezett dinamikus porttartománya), adjon hozzá kivételt minden porthoz. Ilyen erőforrások lehetnek a következők:

  • SQL Server adatbázismotor
  • Always On rendelkezésre állási csoport figyelője
  • Állapotadat-mintavétel a feladatátvevő fürtpéldányhoz
  • Adatbázis-tükrözési végpont
  • Fürtmag IP-erőforrása

A kizárás hozzáadása megakadályozza, hogy más rendszerfolyamatok dinamikusan hozzá legyenek rendelve ugyanahhoz a porthoz. Ebben a forgatókönyvben konfigurálja a következő kizárásokat az összes fürtcsomóponton:

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Fontos konfigurálni a portkivételt, ha a port nincs használatban. Ellenkező esetben a parancs a következőhöz hasonló üzenettel meghiúsul: "A folyamat nem fér hozzá a fájlhoz, mert egy másik folyamat használja." A kizárások helyes konfigurálásához használja a következő parancsot: netsh int ipv4 show excludedportrange tcp.

Figyelmeztetés

A rendelkezésre állási csoport figyelőjének állapotadat-mintavételéhez használt portnak különböznie kell a fürtmag IP-címének állapotadat-mintavételéhez használt porttól. Ezekben a példákban a figyelőport 59999, a fürtmag IP-címe állapotadat-mintavételi portja pedig 58888. Mindkét porthoz "bejövő forgalom engedélyezése" tűzfalszabály szükséges.

A figyelőport beállítása az SQL Server Management Studióban

  1. Indítsa el az SQL Server Management Studiót, és csatlakozzon az elsődleges replikához.

  2. Lépjen az Always On Magas rendelkezésre állású>rendelkezésre állási csoportok rendelkezésre állási csoport>figyelőihez.

  3. Ekkor megjelenik a Feladatátvevőfürt-kezelőben létrehozott figyelőnév. Kattintson a jobb gombbal a figyelő nevére, és válassza a Tulajdonságok lehetőséget.

  4. A Port mezőben adja meg a rendelkezésre állási csoport figyelőjének portszámát a korábban használt $EndpointPort (alapértelmezés szerint 1433 volt), majd kattintson az OK gombra.

A figyelőhöz való kapcsolat tesztelése

A kapcsolat tesztelése:

  1. A Távoli asztali protokoll (RDP) használatával csatlakozhat egy olyan SQL Serverhez, amely ugyanahhoz a virtuális hálózathoz tartozik, de nem rendelkezik a replikával. Lehet, hogy ez a fürt másik SQL Servere.

  2. Az sqlcmd segédprogrammal tesztelje a kapcsolatot. Az alábbi szkript például sqlcmd kapcsolatot létesít az elsődleges replikával a figyelőn keresztül Windows-hitelesítéssel:

    sqlcmd -S <listenerName> -E
    

    Ha a figyelő az alapértelmezett porttól (1433) eltérő portot használ, adja meg a portot a kapcsolati sztring. Az alábbi sqlcmd parancs például az 1435-ös porton csatlakozik egy figyelőhöz:

    sqlcmd -S <listenerName>,1435 -E
    

Az SQLCMD-kapcsolat automatikusan csatlakozik az elsődleges replikát futtató SQL Server bármelyik példányához.

Megjegyzés:

Győződjön meg arról, hogy a megadott port mindkét SQL Server tűzfalán meg van nyitva. Mindkét kiszolgálóhoz bemenő szabály szükséges a használt TCP-porthoz. További információ: Tűzfalszabály hozzáadása vagy szerkesztése.

Ha a másodlagos replika virtuális gépén van, és nem tud csatlakozni a figyelőhöz, lehetséges, hogy a mintavételi port nincs megfelelően konfigurálva.

A következő szkripttel ellenőrizheti, hogy a mintavételi port megfelelően van-e konfigurálva a rendelkezésre állási csoporthoz:

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")}

Irányelvek és korlátozások

Figyelje meg a rendelkezésre állási csoport figyelőjével kapcsolatos alábbi irányelveket az Azure-ban belső terheléselosztó használatával:

  • Belső terheléselosztóval csak ugyanazon a virtuális hálózaton belülről érheti el a figyelőt.

  • Ha azure-beli hálózati biztonsági csoporttal korlátozza a hozzáférést, győződjön meg arról, hogy az engedélyezési szabályok a következők:

    • A háttérbeli SQL Server virtuális gép IP-címei
    • A terheléselosztó lebegő IP-címei az AG-figyelőhöz
    • A fürt magjának IP-címe, ha van ilyen.
  • Szolgáltatásvégpont létrehozása standard terheléselosztó használata esetén az Azure Storage használatával a felhőbeli tanúsító számára. További információ: Hozzáférés biztosítása virtuális hálózatról.

PowerShell cmdlets

Az alábbi PowerShell-parancsmagokkal hozzon létre egy belső terheléselosztót az Azure Virtual Machineshez.

További lépések

To learn more, see: