MSSQL Server’da Availability Group’da Veritabanının Not Synchronizing / In Recovery Moduna Geçmesi

Not Synchronizing / In Recovery durumu, secondary replikanın primary replika ile senkronize olmadığını ve aynı zamanda recovery(kurtarma ) modunda sıkışıp kaldığını gösterir.

Not Synchronizing Secondary replica üzerindeki veritabanı:

  • Primary’den log alamaz.
  • Redo işlemleri durmuştur.
  • Genellikle log chain kırılması, disk/IO problemi veya erişim hatası vardır

In Recovery işleminde Secondary veritabanı:

  • SQL Server tarafından sürekli recovery (redo) modunda tutulur.
  • Kullanıcı erişimine kapalıdır.
  • AG içindeki normal davranış değildir ve müdahale gerektirir.

Bu yapıya secondary sunucusundaki veritabanının geçmesinin en önemli sebebi: Log Chain’in Bozulması primary üzerinde: RESTORE DATABASE WITH RECOVERY veya yanlış backup/restore işlemleridir. Log backup’larının silinmesi veya erişilememesi başka bir sebeptir. Sonuçta Secondary redo edemez veritabanı Not Synchronizing moduna girmektedir.

Secondary server’da disk doluluğu, disk offline ve NTFS permission değişiklikleri sonucunda Log yazılamaz. Veritabanı In Recovery moduna geçmektedir.

Sql server servisinin kapatıldığında Crash, SHUTDOWN WITH NOWAIT ve Power failure işlemleri sonucunda redo işlemi yarım kalmaktadır. Bu sebepten veritabanı In Recovery modunda kalmaktadır.

AG endpoint port kapalı olması Firewall rule silinmesi ve Latency / packet loss durumları sonucunda log gönderimi durur. Bu işlem Not Synchronizing moduna geçmektedir.

Sql server CU / Security Update ve Reboot sonrası replica state tutarsızlığı veritabanının bu yapıya düşmesine sebep olmaktadır.

“In Recovery” durumu 3 aşamalı bir işlemin parçasıdır.

1. Analysis Phase (Analiz)
• Transaction log taranır, aktif işlemler belirlenir.
2. Redo Phase (Yeniden İşleme)
• Commit edilmiş işlemler uygulanır (yeniden yapılır).
3. Undo Phase (Geri Alma)
• Commit edilmemiş işlemler geri alınır.

Yukarıdaki resimde de analiz işleminden sonra Redo phase işlemi yapılmaktadır.

Bu makalede veritabanının Not Synchronizing / In Recovery modunda neler yapılması gerektiğini görmüş olduk. Başka makalede görüşmek dileğiyle…

“Onlar inanmışlar, kalpleri Allah’ı anmakla huzura kavuşmuştur. Dikkat edin, kalpler ancak Allah’ı anmakla huzura kavuşur. “ Ra’d Suresi; 28. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

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