Always On kullanılabilirlik grubu içinde kullanılabilirlik çoğaltmasının bağlantısı kesildi

Şunlar için geçerlidir: SQL Server

Giriş

  • İlke Adı: Kullanılabilirlik Çoğaltması Bağlantı Durumu
  • Sorun: Kullanılabilirlik çoğaltmasının bağlantısı kesildi
  • Kategori: Kritik
  • Model: Kullanılabilirlik çoğaltması

Açıklama

Bu ilke, kullanılabilirlik çoğaltmaları arasındaki bağlantı durumunu denetler. kullanılabilirlik çoğaltmasının bağlantı durumu olduğunda ilke iyi durumda değil durumdadır DISCONNECTED. İlke başka bir şekilde iyi durumda.

Olası nedenler

İkincil çoğaltma birincil çoğaltmaya bağlı değil. Bağlı durum şeklindedir DISCONNECTED. Aşağıdaki nedenlerden biri bu soruna yol açabilir:

Olası çözümler

Birincil ve ikincil çoğaltma örnekleri için veritabanı yansıtma uç noktası yapılandırmasını denetleyin ve eşleşmeyen yapılandırmayı güncelleştirin. Ayrıca, bağlantı noktasının çakışıp çakışmadığını denetleyin ve çakışıyorsa bağlantı noktası numarasını değiştirin.

Bu sorunun olası çözümleri şunlardır:

Bağlantı bağlantı noktası başka bir uygulamayla çakışıyor olabilir

Bağlantı noktası sorunlarını tanılamak için aşağıdaki komutları çalıştırın:

$server_name = "server_instance"  #replace with your SQL Server instance
sqlcmd -S $server_name -E -Q "SELECT type_desc, port FROM sys.tcp_endpoints WHERE type_desc = 'DATABASE_MIRRORING'; "

Önceki komut, aşağıdaki komutta kullanmanız gereken bağlantı noktası numarasını döndürür.

$port = "5022"
Get-NetTCPConnection -LocalPort $port
Get-Process -Id (Get-NetTCPConnection -LocalPort $port).OwningProcess | Select-Object Name, ProductVersion, Path, Id

Şifreleme türü veya algoritması uyumsuz

Bu komutu her iki sunucuda da çalıştırın ve şifrelemeyi karşılaştırın ve her ikisinin de aynı olduğundan emin olun.

$server_name = "server_instance"  #replace with your SQL Server instance
sqlcmd -S $server_name -E -Q "SELECT name, state_desc, encryption_algorithm_desc, protocol_desc, type_desc FROM sys.database_mirroring_endpoints"

Bağlantı uç noktası silindi veya başlatılmadı

Yansıtma uç noktası çıkar ve başlatılırsa aşağıdaki komutu çalıştırın.

$server_name = "server_instance"  #replace with your SQL Server instance
sqlcmd -S $server_name -E -Q "SELECT name, state_desc, encryption_algorithm_desc, protocol_desc, type_desc FROM sys.database_mirroring_endpoints"

Uç noktanın bağlantılara yanıt vermediğinden veya çalışmadığından şüpheleniyorsanız aşağıdaki komutu çalıştırın.

$server_name = "server_instance"  #use your SQL Server instance here
$server_name = "hadr_endpoint"    #replace with your endpoint name
sqlcmd -S $server_name -E -Q "ALTER ENDPOINT hadr_endpoint STATE = stopped"
sqlcmd -S $server_name -E -Q "ALTER ENDPOINT hadr_endpoint STATE = started"

Uyarı

komutunun ile STATE = stopped çalıştırılması uç noktanızı durdurur ve Always On trafik akışını geçici olarak kesintiye uğratır.

Ağ veya bağlantı sorunları ya da bağlantı noktaları güvenlik duvarında engelleniyor

ile arasında her iki yönde Node1 de bağlantıyı test etmek için Node2Node2Node1aşağıdaki komutları kullanın:

$computer = "remote_node"      # replace with node name in your environment
$port = "5022"                 # replace with the port from your database_mirroring_endpoints
Test-NetConnection -ComputerName $computer -Port $port

Hesap bir etki alanı kullanıcısı değildir ve DC'ye ve uzak düğüme bağlanamaz

Hizmet hesabının uzak düğüme bağlanıp bağlanamadığını test etmek için aşağıdaki adımları izleyin. Adımlarda hizmet hesabıyla oturum açmadığınız varsayılır.

  1. Windows PowerShell'i> Başlat'ı>seçin, simgeye sağ tıklayın.

  2. Diğer>Farklı Kullanıcı>Olarak Çalıştır Farklı bir hesap kullan'ı seçin.

  3. Hizmet hesabı adını ve parolasını yazın.

  4. Windows PowerShell açıldıktan sonra, hizmet hesabıyla oturum açtığınızı doğrulamak için aşağıdaki komutu yazın:

    whoami
    
  5. Ardından, aşağıdaki örnekte olduğu gibi uzak düğüme bağlantıyı test edebilirsiniz.

    $computer = "remote_node" # replace with node name in your environment
    $port = "5022"            # replace with the port from your database_mirroring_endpoints
    Test-NetConnection -ComputerName $computer -Port $port