Always On Yapılarında “Unable to access database ‘XXXXX’ because it lacks a quorum of nodes for high availability.Error 988” Hatası Çözüm Yolları

Microsoft SQL Server Always On Kullanılabilirlik Grupları (Availability Groups), veritabanı sistemlerinin kesintisiz çalışmasını sağlamak için tasarlanmış karmaşık bir mimariye sahiptir. Bu mimari, temelinde Windows Failover Cluster Service (WSFC) ile entegre çalışır. Ancak sistemin sağlıklı bir şekilde karar verebilmesi ve “yönetici” düğümün kim olduğunu belirleyebilmesi için düğümler (nodes) arasında bir oy çoğunluğu, yani Quorum sağlanması şarttır.

Eğer küme yapısındaki aktif oy sayısı belirlenen eşik değerinin altına düşerse, SQL Server veri bütünlüğünü korumak adına veritabanı erişimini kapatır ve kullanıcıya Error: 988 hata kodunu döndürür.

“Unable to access database ‘XXXXX’ because it lacks a quorum of nodes for high availability. Try the operation again later. (Microsoft SQL Server, Error: 988)”

SQL Server’ın ilgili veritabanını çevrimiçi tutmak için gereken “güvenli oy sayısına” ulaşamadığını ifade eder.

Temel Nedenler:

  • Çoğunluk Kaybı: Birincil ve ikincil düğümlerin aynı anda çevrimdışı olması veya ağ kesintisi nedeniyle birbirleriyle iletişim kuramaması.
  • Witness (Tanık) Sorunları: Oy dengesini sağlayan dosya paylaşımlı tanık (File Share Witness) veya disk tanığının erişilemez hale gelmesi.
  • Ağ İzolasyonu (Split-Brain): Düğümler arasındaki iletişim koptuğunda, hiçbir düğümün kendisini yetkili ilan edememesi.

Hata alındığında izlenmesi gereken operasyonel adımlar şunlardır:

1. Cluster Katmanının İncelenmesi

Sorun bir SQL Server hatası değil, bir Cluster sorunudur. Failover Cluster Manager üzerinden her bir düğümün durumunu kontrol edin. Eğer tüm düğümler “Down” görünüyorsa, önce sunucu servislerini ve network bağlantılarını kontrol ederek sunucuları ayağa kaldırın.

2. Zorunlu Başlatma (Force Quorum)

Eğer fiziksel olarak sunucuların bir kısmı geri getirilemiyorsa ve sistemin ayağa kalkması için yeterli oy (quorum) sağlanamıyorsa, mevcut en güncel veriye sahip düğüm üzerinde küme Force Quorum parametresi ile başlatılabilir:

# PowerShell üzerinden kümeyi tek düğümle zorla başlatmak için:
Start-ClusterNode -Name "AktifDugumAdi" -FixQuorum

3. HADR Durumunun Senkronize Edilmesi

Cluster düzeldikten sonra SQL Server tarafında Always On Availability Group (AG) durumu genellikle “Not Synchronizing” modunda kalacaktır. Bu aşamada veritabanını tekrar sağlıklı duruma getirmek için senkronizasyon manuel olarak tetiklenmelidir:

ALTER DATABASE [Veritabani_Adi] SET HADR RESUME;

4. Quorum Yapılandırmasının Optimize Edilmesi

Gelecekte bu hatanın tekrarlanmaması için Dynamic Quorum özelliğinin aktif olduğundan emin olunmalı ve mimariye uygun (Cloud Witness veya File Share Witness) bir tanık mekanizması eklenmelidir.

SQL Server Error 988, sistemin kendi güvenliğini korumak için aldığı radikal bir önlemdir. Bu hata ile karşılaşıldığında panik yapılmamalı, sorunun SQL katmanında değil, sunucuların iletişim kurduğu Cluster katmanında olduğu unutulmamalıdır. Doğru Quorum yapılandırması ve proaktif izleme (monitoring) ile bu tür kesintilerin önüne geçmek mümkündür.

Başka makalede görüşmek dileğiyle..

“Gevşemeyin, üzülmeyin, inanmışsanız, mutlaka siz en üstünsünüzdür.” Al-i İmran Suresi; 139. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir