Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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:
- Bağlantı noktası başka bir uygulamayla çakışıyor olabilir.
- Şifreleme türü veya algoritması uyumsuz.
- Bağlantı uç noktası silindi veya başlatılmadı.
- Ağ/bağlantı sorunları var veya Bağlantı noktaları güvenlik duvarında engelleniyor.
- Hizmet/başlangıç hesabı bir etki alanı kullanıcısı değildir ve DC'ye ve uzak düğüme ve bağlantı noktasına (örneğin, 5022) bağlanamaz.
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.
Windows PowerShell'i> Başlat'ı>seçin, simgeye sağ tıklayın.
Diğer>Farklı Kullanıcı>Olarak Çalıştır Farklı bir hesap kullan'ı seçin.
Hizmet hesabı adını ve parolasını yazın.
Windows PowerShell açıldıktan sonra, hizmet hesabıyla oturum açtığınızı doğrulamak için aşağıdaki komutu yazın:
whoamiArdı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