Bir veya daha fazla AlwaysOn kullanılabilirlik grubu dinleyicisi yapılandırma

Şunlar için geçerlidir:Azure VM'de SQL Server

Bahşiş

Kullanılabilirlik grubu dağıtmak için birçok yöntem vardır. Dağıtımınızı basitleştirin ve aynı Azure sanal ağı içindeki birden çok alt ağda SQL Server sanal makinelerinizi (VM' ler) oluşturarak Always On kullanılabilirlik grubunuz için Azure Load Balancer veya dağıtılmış ağ adı (DNN) gereksinimini ortadan kaldırın. Kullanılabilirlik grubunuzu zaten tek bir alt ağda oluşturduysanız, bunu çok alt ağlı bir ortama geçirebilirsiniz.

Bu belgede, aşağıdaki görevlerden birini yapmak için PowerShell'in nasıl kullanılacağı gösterilmektedir:

  • yük dengeleyici oluşturma
  • SQL Server kullanılabilirlik grupları için mevcut bir yük dengeleyiciye IP adresleri ekleyin.

Kullanılabilirlik grubu dinleyicisi, istemcilerin veritabanı erişimi için bağlanacakları bir sanal ağ adıdır. Azure Sanal Makineler tek bir alt ağda, yük dengeleyici dinleyicinin IP adresini tutar. Yük dengeleyici, trafiği yoklama bağlantı noktasını dinleyen SQL Server örneğine yönlendirir. Genellikle bir kullanılabilirlik grubu iç yük dengeleyici kullanır. Azure iç yük dengeleyicisi bir veya birden çok IP adresini barındırabilir. Her IP adresi belirli bir yoklama bağlantı noktasını kullanır.

Bir iç yük dengeleyiciye birden çok IP adresi atama özelliği Azure'da yenidir ve yalnızca Resource Manager modelinde kullanılabilir. Bu görevi tamamlamak için Resource Manager modelinde Azure Sanal Makineler'de dağıtılan bir SQL Server kullanılabilirlik grubuna sahip olmanız gerekir. Her iki SQL Server sanal makinesi de aynı kullanılabilirlik kümesine ait olmalıdır. Azure Resource Manager'da kullanılabilirlik grubunu otomatik olarak oluşturmak için Microsoft şablonunu kullanabilirsiniz. Bu şablon, sizin için iç yük dengeleyici de dahil olmak üzere kullanılabilirlik grubunu otomatik olarak oluşturur. İsterseniz, Always On kullanılabilirlik grubunu el ile yapılandırabilirsiniz.

Bu makaledeki adımları tamamlamak için kullanılabilirlik gruplarınızın zaten yapılandırılmış olması gerekir.

İlgili konular şunlardır:

Dekont

Bu makalede, Azure ile etkileşim için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

PowerShell oturumunuzu başlatma

Bağlan-Az Hesabı cmdlet'ini çalıştırdığınızda kimlik bilgilerinizi girmeniz için bir oturum açma ekranı açılır. Azure portala giriş yapmak için kullandığınız kimlik bilgilerinin aynısını kullanın.

Connect-AzAccount

Birden çok aboneliğiniz varsa, PowerShell oturumunuzun hangi aboneliği kullanması gerektiğini seçmek için Set-AzContext cmdlet'ini kullanın. Geçerli PowerShell oturumunun hangi aboneliği kullandığını görmek için Get-AzContext komutunu çalıştırın. Tüm aboneliklerinizi görmek için Get-AzSubscription komutunu çalıştırın.

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

PowerShell sürümünü doğrulama

Bu makaledeki örnekler Azure PowerShell modülü sürüm 5.4.1 kullanılarak test edilmiştir.

PowerShell modülünüzün 5.4.1 veya üzeri olduğunu doğrulayın.

Bkz . Azure PowerShell modülünü yükleme.

Windows Güvenlik Duvarı'nı yapılandırma

Windows Güvenlik Duvarı'nı SQL Server erişimine izin verecek şekilde yapılandırın. Güvenlik duvarı kuralları, SQL Server örneği ve dinleyici araştırması tarafından kullanılan bağlantı noktalarına TCP bağlantılarına izin verir. Ayrıntılı yönergeler için bkz . Veritabanı Altyapısı Erişimi için Windows Güvenlik Duvarı Yapılandırma. SQL Server bağlantı noktası ve yoklama bağlantı noktası için bir gelen kuralı oluşturun.

Erişimi bir Azure Ağ Güvenlik Grubu ile kısıtlarsanız, izin verme kurallarının arka uç SQL Server VM IP adreslerini ve varsa AG dinleyicisi ve küme çekirdek IP adresi için yük dengeleyici kayan IP adreslerini içerdiğinden emin olun.

Gereken yük dengeleyici SKU'sunu belirleme

Azure yük dengeleyici iki SKU'da kullanılabilir: Temel ve Standart. Temel SKU'nun 30 Eylül 2025'te kullanımdan kaldırılacağı zamanlandığından standart yük dengeleyici önerilir. Standart yük dengeleyici, kullanılabilirlik alanındaki sanal makineler için gereklidir. Standart yük dengeleyici, tüm VM IP adreslerinin standart IP adreslerini kullanmasını gerektirir.

Kullanılabilirlik grubu için geçerli Microsoft şablonu , temel IP adreslerine sahip temel bir yük dengeleyici kullanır.

Bu makaledeki örnekler standart bir yük dengeleyici belirtir. Örneklerde betik içerir -sku Standard.

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

Temel bir yük dengeleyici oluşturmak için yük dengeleyiciyi oluşturan satırdan öğesini kaldırın -sku Standard . Örneğin:

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

Örnek Betik: PowerShell ile iç yük dengeleyici oluşturma

Dekont

Kullanılabilirlik grubunuzu Microsoft şablonuyla oluşturduysanız, iç yük dengeleyici zaten oluşturulmuştur.

Aşağıdaki PowerShell betiği bir iç yük dengeleyici oluşturur, yük dengeleme kurallarını yapılandırılır ve yük dengeleyici için bir IP adresi ayarlar. Betiği çalıştırmak için Windows PowerShell ISE'yi açın ve betiği Betik bölmesine yapıştırın. PowerShell'de oturum açmak için kullanın Connect-AzAccount . Birden çok Azure aboneliğiniz varsa aboneliği ayarlamak için kullanın Select-AzSubscription .

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

Örnek betik: PowerShell ile mevcut yük dengeleyiciye IP adresi ekleme

Birden fazla kullanılabilirlik grubu kullanmak için yük dengeleyiciye ek bir IP adresi ekleyin. Her IP adresi kendi yük dengeleme kuralı, yoklama bağlantı noktası ve ön bağlantı noktası gerektirir. İkincil VM IP adresi kayan IP'yi desteklemediğinden yük dengeleyicinin arka uç havuzuna yalnızca VM'nin birincil IP adresini ekleyin.

Ön uç bağlantı noktası, uygulamaların SQL Server örneğine bağlanmak için kullandığı bağlantı noktasıdır. Farklı kullanılabilirlik grupları için IP adresleri aynı ön uç bağlantı noktasını kullanabilir.

Dekont

SQL Server kullanılabilirlik grupları için her IP adresi belirli bir yoklama bağlantı noktası gerektirir. Örneğin, yük dengeleyicideki bir IP adresi yoklama bağlantı noktası 59999 kullanıyorsa, bu yük dengeleyicideki diğer IP adresleri yoklama bağlantı noktası 59999'ı kullanamaz.

Aşağıdaki betik, mevcut yük dengeleyiciye yeni bir IP adresi ekler. ILB, yük dengeleme ön uç bağlantı noktası için dinleyici bağlantı noktasını kullanır. Bu bağlantı noktası, SQL Server'ın dinlediği bağlantı noktası olabilir. SQL Server'ın varsayılan örnekleri için bağlantı noktası 1433'tür. Kullanılabilirlik grubu için yük dengeleme kuralı kayan IP (doğrudan sunucu dönüşü) gerektirir, bu nedenle arka uç bağlantı noktası ön uç bağlantı noktasıyla aynıdır. Ortamınız için değişkenleri güncelleştirin.

# 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   

Dinleyiciyi yapılandırma

Kullanılabilirlik grubu dinleyicisi, SQL Server kullanılabilirlik grubunun dinlediği bir IP adresi ve ağ adıdır. Kullanılabilirlik grubu dinleyicisini oluşturmak için:

  1. Küme ağ kaynağının adını alın:

    a. Birincil çoğaltmayı barındıran Azure sanal makinesine bağlanmak için RDP kullanın.

    b. Yük Devretme Kümesi Yöneticisi’ni açın.

    c. Ağlar düğümünü seçin ve küme ağ adını not edin. PowerShell betiğindeki $ClusterNetworkName değişkende bu adı kullanın. Aşağıdaki görüntüde küme ağ adı Küme Ağı 1'dir:

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

  2. İstemci erişim noktasını ekleyin. İstemci erişim noktası, uygulamaların bir kullanılabilirlik grubundaki veritabanlarına bağlanmak için kullandığı ağ adıdır.

    a. Yük Devretme Kümesi Yöneticisi'nde küme adını genişletin ve roller'i seçin.

    b. Roller bölmesinde kullanılabilirlik grubu adına sağ tıklayın ve ardından Kaynak>İstemcisi Erişim Noktası Ekle'yi seçin.

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

    c. Ad kutusunda, bu yeni dinleyici için bir ad oluşturun. Yeni dinleyicinin adı, uygulamaların SQL Server kullanılabilirlik grubundaki veritabanlarına bağlanmak için kullandığı ağ adıdır.

    d. Dinleyici oluşturmayı bitirmek için, iki kez İleri'yi ve ardından Son'u seçin. Bu noktada dinleyiciyi veya kaynağı çevrimiçi duruma getirmeyin.

  3. Kullanılabilirlik grubu için küme rolünü çevrimdışına alın. Yük Devretme Kümesi Yöneticisi'nde Roller'in altında role sağ tıklayın ve ardından Rolü Durdur'u seçin.

  4. Kullanılabilirlik grubu için IP kaynağını yapılandırın:

    a. Kaynaklar sekmesini seçin ve ardından oluşturduğunuz istemci erişim noktasını genişletin. İstemci erişim noktası çevrimdışı.

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

    b. IP kaynağına sağ tıklayın ve özellikler'i seçin. IP adresinin adını not alın ve PowerShell betiğindeki $IPResourceName değişkende kullanın.

    c. IP Adresi'nin altında Statik IP Adresi'ne tıklayın. IP adresini, Azure portalında yük dengeleyici adresini ayarlarken kullandığınız adresle aynı şekilde ayarlayın.

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

  5. SQL Server kullanılabilirlik grubunu istemci erişim noktasına bağımlı hale getirin:

    a. Yük Devretme Kümesi Yöneticisi'nde Roller'i ve ardından kullanılabilirlik grubunuzu seçin.

    b. Kaynaklar sekmesindeki Diğer Kaynaklar'ın altında kullanılabilirlik grubu kaynağına sağ tıklayın ve özellikler'i seçin.

    c. Bağımlılıklar sekmesinde, istemci erişim noktasının (dinleyici) adını ekleyin.

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

    d. Tamam seçeneğini işaretleyin.

  6. İstemci erişim noktasını IP adresine bağımlı hale getirin:

    a. Yük Devretme Kümesi Yöneticisi'nde Roller'i ve ardından kullanılabilirlik grubunuzu seçin.

    b. Kaynaklar sekmesinde, Sunucu Adı'nın altındaki istemci erişim noktasına sağ tıklayın ve özellikler'i seçin.

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

    c. Bağımlılıklar sekmesini seçin. IP adresinin bir bağımlılık olduğunu doğrulayın. Değilse, IP adresine bir bağımlılık ayarlayın. Birden çok kaynak listeleniyorsa, IP adreslerinin AND değil VEYA bağımlılıklarına sahip olduğunu doğrulayın. Ardından Tamam'ı seçin.

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

    Bahşiş

    Bağımlılıkların doğru yapılandırıldığını doğrulayabilirsiniz. Yük Devretme Kümesi Yöneticisi'nde Roller'e gidin, kullanılabilirlik grubuna sağ tıklayın, Diğer Eylemler'i ve ardından Bağımlılık Raporunu Göster'i seçin. Bağımlılıklar doğru yapılandırıldığında, kullanılabilirlik grubu ağ adına ve ağ adı da IP adresine bağlıdır.

  7. PowerShell'de küme parametrelerini ayarlayın:

    a. Aşağıdaki PowerShell betiğini SQL Server örneklerinizden birine kopyalayın. Ortamınız için değişkenleri güncelleştirin.

    • $ClusterNetworkNameAğlar'ı seçerek Yük Devretme Kümesi Yöneticisi'nde adı bulun, ağa sağ tıklayın ve Özellikler'i seçin. $ClusterNetworkName, Genel sekmesindeki Ad altındadır.

    • $IPResourceName, Yük Devretme Kümesi Yöneticisi'ndeki IP Adresi kaynağına verilen addır. Bu, Yük Devretme Kümesi Yöneticisi'nde Roller'i seçerek, SQL Server AG veya FCI adını seçerek, Sunucu Adı'nın altındaki Kaynaklar sekmesini seçip IP adresi kaynağına sağ tıklayıp Özellikler'i seçerek bulunur. Doğru değer Genel sekmesindeki Ad’ın altında yer alır.

    • $ListenerILBIP , kullanılabilirlik grubu dinleyicisi için Azure yük dengeleyicide oluşturduğunuz IP adresidir. Yük Devretme Kümesi Yöneticisi'ndeki $ListenerILBIP SQL Server AG/FCI Dinleyicisi Kaynak Adı ile aynı özellikler sayfasında bulabilirsiniz.

    • $ListenerProbePort , kullanılabilirlik grubu dinleyicisi için Azure yük dengeleyicide yapılandırdığınız bağlantı noktasıdır( örneğin 59999). Kullanılmayan herhangi bir TCP bağlantı noktası geçerlidir.

    $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. Küme düğümlerinden birinde PowerShell betiğini çalıştırarak küme parametrelerini ayarlayın.

    Dekont

    SQL Server örnekleriniz ayrı bölgelerdeyse PowerShell betiğini iki kez çalıştırmanız gerekir. İlk kez, ilk bölgedeki ve $ListenerProbePort değerlerini kullanın$ListenerILBIP. İkinci kez ikinci bölgedeki ve $ListenerProbePort değerlerini kullanın$ListenerILBIP. Küme ağ adı ve küme IP kaynağı adı da her bölge için farklıdır.

  8. Kullanılabilirlik grubu için küme rolünü çevrimiçine getirin. Yük Devretme Kümesi Yöneticisi'nde Roller'in altında role sağ tıklayın ve ardından Rolü Başlat'ı seçin.

Gerekirse, Windows Server yük devretme kümesinin IP adresinin küme parametrelerini ayarlamak için önceki adımları yineleyin:

  1. Windows Server yük devretme kümesinin IP adresi adını alın. Yük Devretme Kümesi Yöneticisi'ndeki Küme Çekirdek Kaynakları'nın altında Sunucu Adı'nın yerini belirleyin.

  2. IP Adresi'ne sağ tıklayın ve Özellikler'i seçin.

  3. Ad'dan IP adresinin adını kopyalayın. Küme IP Adresi olabilir.

  4. PowerShell'de küme parametrelerini ayarlayın:

    a. Aşağıdaki PowerShell betiğini SQL Server örneklerinizden birine kopyalayın. Ortamınız için değişkenleri güncelleştirin.

    • $ClusterCoreIP , Windows Server yük devretme kümesinin çekirdek küme kaynağı için Azure yük dengeleyicide oluşturduğunuz IP adresidir. Kullanılabilirlik grubu dinleyicisinin IP adresinden farklıdır.

    • $ClusterProbePort , Windows Server yük devretme kümesinin sistem durumu yoklaması için Azure yük dengeleyicide yapılandırdığınız bağlantı noktasıdır. Kullanılabilirlik grubu dinleyicisinin yoklamasından farklıdır.

    $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. Küme düğümlerinden birinde PowerShell betiğini çalıştırarak küme parametrelerini ayarlayın.

Herhangi bir SQL kaynağı 49152 ile 65536 ( TCP/IP için varsayılan dinamik bağlantı noktası aralığı) arasında bir bağlantı noktası kullanacak şekilde yapılandırılmışsa, her bağlantı noktası için bir dışlama ekleyin. Bu tür kaynaklar şunları içerebilir:

  • SQL Server veritabanı altyapısı
  • Always On kullanılabilirlik grubu dinleyicisi
  • Yük devretme kümesi örneği için sistem durumu araştırması
  • Veritabanı yansıtma uç noktası
  • Küme çekirdek IP kaynağı

Dışlama eklemek, diğer sistem işlemlerinin dinamik olarak aynı bağlantı noktasına atanmasını engeller. Bu senaryo için tüm küme düğümlerinde aşağıdaki dışlamaları yapılandırın:

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

Bağlantı noktası kullanımda olmadığında bağlantı noktası dışlama yapılandırması önemlidir. Aksi takdirde, komut "Başka bir işlem tarafından kullanıldığından işlem dosyaya erişemiyor" gibi bir iletiyle başarısız olur. Dışlamaların doğru yapılandırıldığını onaylamak için şu komutu kullanın: netsh int ipv4 show excludedportrange tcp.

Uyarı

Kullanılabilirlik grubu dinleyicisinin sistem durumu yoklaması için bağlantı noktası, küme çekirdek IP adresinin sistem durumu yoklaması için bağlantı noktasından farklı olmalıdır. Bu örneklerde dinleyici bağlantı noktası 59999 ve küme çekirdek IP adresinin sistem durumu yoklaması bağlantı noktası 58888'dir. Her iki bağlantı noktası da "gelenlere izin ver" güvenlik duvarı kuralı gerektirir.

SQL Server Management Studio'da dinleyici bağlantı noktasını ayarlama

  1. SQL Server Management Studio'yu başlatın ve birincil çoğaltmaya bağlanın.

  2. Always On Yüksek Kullanılabilirlik Kullanılabilirlik>Grupları>Kullanılabilirlik Grubu Dinleyicileri'ne gidin.

  3. Şimdi Yük Devretme Kümesi Yöneticisi'nde oluşturduğunuz dinleyici adını görmeniz gerekir. Dinleyici adına sağ tıklayın ve Özellikler'i seçin.

  4. Bağlantı noktası kutusunda, daha önce kullandığınız $EndpointPort kullanarak kullanılabilirlik grubu dinleyicisinin bağlantı noktası numarasını belirtin (varsayılan değer 1433'tür), ardından Tamam'ı seçin.

Dinleyici bağlantısını test etme

Bağlantıyı test etmek için:

  1. Uzak Masaüstü Protokolü'nü (RDP) kullanarak aynı sanal ağda bulunan ancak çoğaltmaya sahip olmayan bir SQL Server'a bağlanın. Kümedeki diğer SQL Server olabilir.

  2. Bağlantıyı test etmek için sqlcmd yardımcı programını kullanın. Örneğin, aşağıdaki betik, Windows kimlik doğrulaması ile dinleyici aracılığıyla birincil çoğaltmaya bir sqlcmd bağlantısı kurar:

    sqlcmd -S <listenerName> -E
    

    Dinleyici varsayılan bağlantı noktası (1433) dışında bir bağlantı noktası kullanıyorsa, bağlantı dizesi bağlantı noktasını belirtin. Örneğin, aşağıdaki sqlcmd komutu 1435 numaralı bağlantı noktasında bir dinleyiciye bağlanır:

    sqlcmd -S <listenerName>,1435 -E
    

SQLCMD bağlantısı, birincil çoğaltmayı barındıran SQL Server örneğine otomatik olarak bağlanır.

Dekont

Belirttiğiniz bağlantı noktasının her iki SQL Server'ın güvenlik duvarında açık olduğundan emin olun. Her iki sunucu da kullandığınız TCP bağlantı noktası için bir gelen kuralı gerektirir. Daha fazla bilgi için bkz . Güvenlik Duvarı Kuralı Ekleme veya Düzenleme.

İkincil çoğaltma VM'sindeyseniz ve dinleyiciye bağlanamıyorsanız, yoklama bağlantı noktası doğru yapılandırılmamış olabilir.

Yoklama bağlantı noktasının kullanılabilirlik grubu için doğru yapılandırıldığını doğrulamak için aşağıdaki betiği kullanabilirsiniz:

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

Yönergeler ve sınırlamalar

Azure'da iç yük dengeleyici kullanan kullanılabilirlik grubu dinleyicisi ile ilgili aşağıdaki yönergelere dikkat edin:

  • İç yük dengeleyici ile dinleyiciye yalnızca aynı sanal ağ içinden erişebilirsiniz.

  • Erişimi bir Azure Ağ Güvenlik Grubu ile kısıtlarsanız izin verme kurallarının şunları içerdiğinden emin olun:

    • Arka uç SQL Server VM IP adresleri
    • AG dinleyicisi için yük dengeleyici kayan IP adresleri
    • Varsa küme çekirdek IP adresi.
  • Bulut tanığı için Azure Depolama ile standart yük dengeleyici kullanırken bir hizmet uç noktası oluşturun. Daha fazla bilgi için bkz . Sanal ağdan erişim verme.

PowerShell cmdlet'leri

Azure Sanal Makineler için iç yük dengeleyici oluşturmak için aşağıdaki PowerShell cmdlet'lerini kullanın.

Sonraki adımlar

Daha fazla bilgi edinmek için şu makalelere bakın: