Konfigurasikan satu atau beberapa listener grup ketersediaan AlwaysOn

Berlaku untuk:SQL Server di Azure VM

Tip

Ada banyak metode untuk menyebarkan grup ketersediaan. Sederhanakan penyebaran Anda dan hilangkan kebutuhan akan Azure Load Balancer atau nama jaringan terdistribusi (DNN) untuk grup ketersediaan AlwaysOn Anda dengan membuat komputer virtual (VM) SQL Server Anda di beberapa subnet dalam jaringan virtual Azure yang sama. Jika Anda telah membuat grup ketersediaan dalam satu subnet, Anda dapat memigrasikannya ke lingkungan multi-subnet.

Dokumen ini menunjukkan kepada Anda cara menggunakan PowerShell untuk melakukan salah satu tugas berikut ini:

  • Membuat penyeimbang beban
  • tambahkan alamat IP ke penyeimbang beban yang ada untuk grup ketersediaan SQL Server.

Listener grup ketersediaan adalah nama jaringan virtual yang disambungkan klien untuk akses database. Pada Microsoft Azure Virtual Machines dalam subnet tunggal, penyeimbang beban menyimpan alamat IP untuk listener. Penyeimbang beban merutekan lalu lintas ke instans SQL Server yang mendengarkan pada port probe. Biasanya, grup ketersediaan menggunakan penyeimbang beban internal. Penyeimbang beban internal Azure dapat menghosting satu atau beberapa alamat IP. Setiap alamat IP menggunakan port probe tertentu.

Kemampuan untuk menetapkan beberapa alamat IP ke penyeimbang beban internal adalah hal baru bagi Azure dan hanya tersedia dalam model Resource Manager. Untuk menyelesaikan tugas ini, Anda harus memiliki grup ketersediaan SQL Server yang disebarkan pada Azure Virtual Machines dalam model Resource Manager. Kedua komputer virtual SQL Server harus termasuk dalam set ketersediaan yang sama. Anda bisa menggunakan templat Microsoft untuk membuat grup ketersediaan secara otomatis di Azure Resource Manager. Templat ini secara otomatis membuat grup ketersediaan, termasuk penyeimbang beban internal untuk Anda. Jika mau, Anda dapat mengonfigurasi Grup Ketersediaan AlwaysOn secara manual.

Untuk menyelesaikan langkah-langkah dalam artikel ini, grup ketersediaan Anda harus sudah dikonfigurasi.

Topik terkait meliputi:

Catatan

Artikel ini menggunakan modul Azure Az PowerShell, yang merupakan modul PowerShell yang direkomendasikan untuk berinteraksi dengan Azure. Untuk mulai menggunakan modul Az PowerShell, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Mulai sesi PowerShell Anda

Jalankan cmdlet Connect-Az Account dan Anda akan disajikan dengan layar masuk untuk memasukkan kredensial Anda. Gunakan kredensial yang sama yang Anda gunakan untuk masuk ke portal Azure.

Connect-AzAccount

Jika Anda memiliki beberapa langganan, gunakan cmdlet Set-AzContext untuk memilih langganan mana yang harus digunakan sesi PowerShell Anda. Untuk melihat langganan apa yang digunakan sesi PowerShell saat ini, jalankan Get-AzContext. Untuk melihat semua langganan Anda, jalankan Get-AzSubscription.

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

Memverifikasi versi PowerShell

Contoh dalam artikel ini diuji menggunakan modul Azure PowerShell versi 5.4.1.

Verifikasi bahwa modul PowerShell Anda adalah 5.4.1 atau yang lebih baru.

Lihat Memasang modul Azure PowerShell.

Mengonfigurasikan Windows Firewall

Konfigurasikan Windows Firewall untuk mengizinkan akses SQL Server. Aturan firewall memungkinkan koneksi TCP ke port yang digunakan oleh instans SQL Server, dan probe listener. Untuk instruksi mendetail, lihat Mengonfigurasi Windows Firewall untuk Akses Mesin Database. Buat aturan masuk untuk port SQL Server dan untuk port probe.

Jika Anda membatasi akses dengan Azure Network Security Group, pastikan bahwa aturan yang diperbolehkan mencakup alamat IP komputer virtual SQL Server backend, dan alamat IP floating penyeimbang beban untuk listener AG dan alamat IP core kluster, jika berlaku.

Menentukan SKU penyeimbang beban yang diperlukan

Penyeimbang beban Azure tersedia dalam dua SKU: Dasar & Standar. Load balancer standar direkomendasikan karena SKU Dasar dijadwalkan akan dihentikan pada 30 September 2025. Load balancer standar diperlukan untuk komputer virtual di zona ketersediaan. Penyeimbang beban standar mengharuskan semua alamat IP komputer virtual menggunakan alamat IP standar.

Templat Microsoft saat ini untuk grup ketersediaan menggunakan penyeimbang beban dasar dengan alamat IP dasar.

Catatan

Anda harus mengonfigurasi titik akhir layanan jika Anda menggunakan penyeimbang beban standar dan Azure Storage untuk saksi cloud.

Contoh dalam artikel ini menentukan penyeimbang beban standar. Dalam contoh, skrip menyertakan -sku Standard.

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

Untuk membuat penyeimbang beban dasar, hapus -sku Standard dari garis yang membuat penyeimbang beban. Misalnya:

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

Contoh Skrip: Membuat penyeimbang beban internal dengan PowerShell

Catatan

Jika Anda membuat grup ketersediaan dengan templat Microsoft, penyeimbang beban internal sudah dibuat.

Skrip PowerShell berikut membuat penyeimbang beban internal, mengonfigurasi aturan penyeimbang beban, dan menetapkan alamat IP untuk penyeimbang beban. Untuk menjalankan skrip, buka Windows PowerShell ISE, lalu tempelkan skrip di panel Skrip. Gunakan Connect-AzAccount untuk masuk ke PowerShell. Jika Anda memiliki beberapa langganan Azure, gunakan Select-AzSubscription untuk mengatur langganan.

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

Contoh skrip: Menambahkan alamat IP ke penyeimbang beban yang ada dengan PowerShell

Untuk menggunakan lebih dari satu grup ketersediaan, tambahkan alamat IP tambahan ke penyeimbang beban. Setiap alamat IP memerlukan aturan penyeimbangan beban sendiri, port probe, dan port depan. Tambahkan hanya alamat IP utama VM ke kumpulan back-end dari penyeimbang beban karena alamat IP VM sekunder tidak mendukung IP float.

Port front-end adalah port yang digunakan aplikasi untuk terhubung ke instans SQL Server. Alamat IP untuk grup ketersediaan yang berbeda dapat menggunakan port front-end yang sama.

Catatan

Untuk grup ketersediaan SQL Server, setiap alamat IP memerlukan port probe tertentu. Misalnya, jika satu alamat IP pada penyeimbang beban menggunakan port probe 59999, tidak ada alamat IP lain pada penyeimbang beban yang dapat menggunakan port probe 59999.

Skrip berikut menambahkan alamat IP baru ke penyeimbang beban yang ada. ILB menggunakan port listener untuk port front-end penyeimbang beban. Port ini bisa menjadi port yang didengarkan oleh SQL Server. Untuk instans default SQL Server, portnya adalah 1433. Aturan penyeimbangan beban untuk grup ketersediaan memerlukan IP floating (pengembalian server langsung) sehingga port back-end sama dengan port front-end. Perbarui variabel untuk lingkungan Anda.

# 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   

Konfigurasikan pendengar

Pendengar grup ketersediaan adalah alamat IP dan nama jaringan yang didengarkan oleh grup ketersediaan SQL Server. Untuk membuat pendengar grup ketersediaan:

  1. Dapatkan nama sumber daya jaringan kluster:

    a. Gunakan RDP untuk menyambungkan ke komputer virtual Azure yang menghosting replika utama.

    b. Buka Pengelola Kluster Failover.

    c. Pilih node Jaringan, dan catat nama jaringan kluster. Gunakan nama ini dalam variabel $ClusterNetworkName di skrip PowerShell. Dalam gambar berikut, nama jaringan kluster adalah Cluster Network 1:

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

  2. Tambahkan titik akses klien. Titik akses klien adalah nama jaringan yang digunakan aplikasi untuk menyambungkan ke database dalam grup ketersediaan.

    a. Di Manajer Kluster Failover, perluas nama kluster, lalu pilih Peran.

    b. Pada panel Peran, klik kanan nama grup ketersediaan, lalu pilih Tambahkan Titik Akses Klien Sumber Daya>.

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

    c. Dalam kotak Nama, buat nama untuk pendengar baru ini. Nama untuk pendengar baru adalah nama jaringan yang digunakan aplikasi untuk menyambungkan ke database di grup ketersediaan SQL Server.

    d. Untuk menyelesaikan pembuatan pendengar, pilih Berikutnya dua kali, lalu pilih Selesai. Jangan bawa listener atau sumber daya online pada saat ini.

  3. Ambil peran kluster untuk grup ketersediaan offline. Di Manajer Kluster Failover, di bawah Peran, klik kanan peran, lalu pilih Hentikan Peran.

  4. Konfigurasikan sumber daya IP untuk grup ketersediaan:

    a. Pilih tab Sumber Daya , lalu perluas titik akses klien yang Anda buat. Titik akses klien sedang offline.

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

    b. Klik kanan sumber daya IP, lalu pilih Properti. Perhatikan nama alamat IP, dan gunakan dalam variabel $IPResourceName di skrip PowerShell.

    c. Di bawah Alamat IP, pilih Alamat IP Statis. Atur alamat IP sebagai alamat yang sama dengan yang Anda gunakan saat Anda mengatur alamat penyeimbang muatan di portal Azure.

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

  5. Buat grup ketersediaan SQL Server bergantung pada titik akses klien:

    a. Di Manajer Kluster Failover, pilih Peran, lalu pilih grup ketersediaan Anda.

    b. Pada tab Sumber Daya , di bawah Sumber Daya Lain, klik kanan sumber daya grup ketersediaan, lalu pilih Properti.

    c. Pada tab Dependensi , tambahkan nama titik akses klien (listener).

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

    d. Pilih OK.

  6. Buat titik akses klien bergantung pada alamat IP:

    a. Di Manajer Kluster Failover, pilih Peran, lalu pilih grup ketersediaan Anda.

    b. Pada tab Sumber Daya , klik kanan titik akses klien di bawah Nama Server, lalu pilih Properti.

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

    c. Pilih tab Dependensi . Verifikasi bahwa alamat IP adalah dependensi. Jika tidak, atur dependensi pada alamat IP. Jika beberapa sumber daya tercantum, verifikasi bahwa alamat IP memiliki ATAU, bukan DAN, dependensi. Kemudian pilih OK.

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

    Tip

    Anda dapat memvalidasi bahwa dependensi dikonfigurasi dengan benar. Di Manajer Kluster Failover, buka Peran, klik kanan grup ketersediaan, pilih Tindakan Lainnya, lalu pilih Tampilkan Laporan Dependensi. Ketika dependensi dikonfigurasi dengan benar, grup ketersediaan akan bergantung pada nama jaringan, dan nama jaringan akan bergantung pada alamat IP.

  7. Atur parameter kluster di PowerShell:

    a. Salin skrip PowerShell berikut ini ke salah satu instans SQL Server Anda. Perbarui variabel untuk lingkungan Anda.

    • $ClusterNetworkName temukan nama di Manajer Kluster Failover dengan memilih Jaringan, klik kanan jaringan dan pilih Properti. $ClusterNetworkName berada di bawah Nama pada tab Umum.

    • $IPResourceName adalah nama yang diberikan ke sumber daya Alamat IP di Manajer Kluster Failover. Ini ditemukan di Manajer Kluster Failover dengan memilih Peran, pilih nama SQL Server AG atau FCI, pilih tab Sumber Daya di bawah Nama Server, klik kanan sumber daya alamat IP dan pilih Properti. Nilai yang benar ada di bawah Nama pada tab Umum.

    • $ListenerILBIP adalah alamat IP yang Anda buat di penyeimbang muatan Azure untuk pendengar grup ketersediaan. Temukan $ListenerILBIP di Manajer Kluster Failover pada halaman properti yang sama dengan Nama Sumber Daya Pendengar SQL Server AG/FCI.

    • $ListenerProbePort adalah port yang Anda konfigurasikan pada load balancer Azure untuk pendengar grup ketersediaan, seperti 59999. Port TCP apa pun yang tidak digunakan bersifat 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. Atur parameter kluster dengan menjalankan skrip PowerShell pada salah satu node kluster.

    Catatan

    Jika instans SQL Server Anda berada di wilayah terpisah, Anda harus menjalankan skrip PowerShell dua kali. Pertama kali, gunakan $ListenerILBIP nilai dan $ListenerProbePort dari wilayah pertama. Kedua kalinya $ListenerILBIP , gunakan nilai dan $ListenerProbePort dari wilayah kedua. Nama jaringan kluster dan nama sumber daya IP kluster juga berbeda untuk setiap wilayah.

  8. Bawa peran kluster untuk grup ketersediaan secara online. Di Manajer Kluster Failover, di bawah Peran, klik kanan peran, lalu pilih Mulai Peran.

Jika perlu, ulangi langkah-langkah sebelumnya untuk mengatur parameter kluster untuk alamat IP kluster failover Windows Server:

  1. Dapatkan nama alamat IP kluster failover Windows Server. Di Manajer Kluster Failover, di bawah Sumber Daya Inti Kluster, temukan Nama Server.

  2. Klik kanan Alamat IP, lalu pilih Properti.

  3. Salin nama alamat IP dari Nama. Ini mungkin Alamat IP Kluster.

  4. Atur parameter kluster di PowerShell:

    a. Salin skrip PowerShell berikut ini ke salah satu instans SQL Server Anda. Perbarui variabel untuk lingkungan Anda.

    • $ClusterCoreIP adalah alamat IP yang Anda buat di load balancer Azure untuk sumber daya kluster inti kluster failover Windows Server. Ini berbeda dari alamat IP untuk pendengar grup ketersediaan.

    • $ClusterProbePort adalah port yang Anda konfigurasikan pada load balancer Azure untuk pemeriksaan kesehatan kluster failover Windows Server. Ini berbeda dari pemeriksaan untuk pendengar grup ketersediaan.

    $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. Atur parameter kluster dengan menjalankan skrip PowerShell pada salah satu node kluster.

Jika ada sumber daya SQL yang dikonfigurasi untuk menggunakan port antara 49152 dan 65536 ( rentang port dinamis default untuk TCP/IP), tambahkan pengecualian untuk setiap port. Sumber daya tersebut mungkin mencakup:

  • Mesin database SQL Server
  • Listener grup ketersediaan AlwaysOn
  • Pemeriksaan kesehatan untuk instans kluster failover
  • Titik akhir pencerminan database
  • Sumber daya IP inti kluster

Menambahkan pengecualian akan mencegah proses sistem lain ditetapkan secara dinamis ke port yang sama. Untuk skenario ini, konfigurasikan pengecualian berikut pada semua node kluster:

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

Penting untuk mengonfigurasi pengecualian port ketika port tidak digunakan. Jika tidak, perintah akan gagal dengan pesan seperti "Proses tidak dapat mengakses file karena sedang digunakan oleh proses lain." Untuk mengonfirmasi bahwa pengecualian dikonfigurasi dengan benar, gunakan perintah berikut: netsh int ipv4 show excludedportrange tcp.

Peringatan

Port untuk pemeriksaan kesehatan pendengar grup ketersediaan harus berbeda dari port untuk pemeriksaan kesehatan alamat IP inti kluster. Dalam contoh ini, port listener adalah 59999 dan port pemeriksaan kesehatan alamat IP inti kluster adalah 58888. Kedua port memerlukan aturan firewall "izinkan masuk".

Mengatur port listener di SQL Server Management Studio

  1. Luncurkan SQL Server Management Studio dan sambungkan ke replika utama.

  2. Navigasikan ke Listener Grup>Ketersediaan Ketersediaan>Tinggi AlwaysOn.

  3. Sekarang Anda akan melihat nama listener yang Anda buat di Failover Cluster Manager. Klik kanan nama pendengar dan pilih Properti.

  4. Dalam kotak Port, tentukan nomor port untuk listener grup ketersediaan dengan menggunakan $EndpointPort yang Anda gunakan sebelumnya (1433 adalah default), lalu pilih OK.

Menguji koneksi ke listener

Untuk menguji koneksi:

  1. Gunakan Protokol Desktop Jauh (RDP) untuk menyambungkan ke SQL Server yang berada di jaringan virtual yang sama, tetapi tidak memiliki replika. Mungkin SQL Server lain di kluster.

  2. Gunakan utilitas sqlcmd untuk menguji koneksi. Misalnya, skrip berikut ini menetapkan koneksi sqlcmd ke replika utama melalui listener dengan NTLM:

    sqlcmd -S <listenerName> -E
    

    Jika pendengar menggunakan port selain port default (1433), tentukan port dalam string koneksi. Misalnya, perintah sqlcmd berikut tersambung ke listener di port 1435:

    sqlcmd -S <listenerName>,1435 -E
    

Koneksi SQLCMD secara otomatis tersambung ke instans SQL Server mana pun yang menghosting replika utama.

Catatan

Pastikan bahwa port yang Anda tentukan terbuka pada firewall kedua Server SQL. Kedua server memerlukan aturan masuk untuk port TCP yang Anda gunakan. Untuk informasi selengkapnya, lihat Menambahkan atau Mengedit Aturan Firewall.

Jika Anda berada di VM replika sekunder, dan Anda tidak dapat terhubung ke pendengar, ada kemungkinan port probe tidak dikonfigurasi dengan benar.

Anda dapat menggunakan skrip berikut untuk memvalidasi port probe dikonfigurasi dengan benar untuk grup ketersediaan:

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

Pedoman dan batasan

Perhatikan panduan berikut tentang listener grup ketersediaan di Azure menggunakan penyeimbang beban internal:

  • Dengan penyeimbang beban internal, Anda hanya mengakses listener dari dalam jaringan virtual yang sama.

  • Jika Anda membatasi akses dengan Azure Network Security Group, pastikan aturan yang diperbolehkan meliputi:

    • Alamat IP komputer virtual SQL Server backend
    • Alamat IP floating load balancer untuk listener AG
    • Alamat IP core kluster, jika berlaku.
  • Buat titik akhir layanan saat menggunakan penyeimbang beban standar dengan Azure Storage untuk saksi cloud. Untuk informasi selengkapnya, lihat Memberikan akses dari jaringan virtual.

Cmdlet PowerShell

Gunakan cmdlet PowerShell berikut untuk membuat penyeimbang beban internal untuk Azure Virtual Machines.

Langkah berikutnya

Untuk mempelajari selengkapnya, lihat: