SQL Server’da Yüksek Erişilebilirlik (High Availibility) Teknolojilerinin Evrimi

Log Shipping’ten AlwaysOn’a Uzanan Yolculuk

Microsoft SQL Server, yıllar içinde yalnızca veri saklayan bir sistem olmadan aralıksız hizmet verebilen dayanıklı bir platforma dönüştü. 
 Bu süreçteki değişim onun yeni teknolojisi, bir öncekinde yaşanan sınırlamaların ortadan kaldırılması için tasarlandı.

Bu yazıda SQL Server dünyasındaki 6 önemli yüksek erişilebilirlik (High Availability — HA) çözümünü; 
 mantıksalları, güçlü ve zayıf bileşenleriyle birlikte kronolojik süreçler incelenerek ortaya çıkar :

” Log Shipping → Database Mirroring → Failover Cluster Instance → Basic Availability Group → AlwaysOn Availability Group → Distributed Availability Group”

Ardından onun birinin neden bir sonrakine evrildiğini anlatacağız.

1️⃣ Log Shipping — Yedekleme Tabanlı Kurtarma

Mantık

Log Shipping, SQL Server’daki en temel HA yöntemidir. 
 Sistem, belirli aralıklı İşlem Günlüğü Yedeklemesini alır, bu yedeği diğer sunucuya kopyalar ve orada geri yükler.

Yani veri, dosya şeklinde taşıma — anlık değil, belirli periyotlarla düzenlenir olur.

Özellikler

  • Birincil (Birincil) veritabanı, düzenli günlük yedekleri üretir.
  • Bu yedekler otomatik olarak (İkincil) sunucuya gönderilir.
  • İkincil olarak “bekleme” modunda bekleriz.
  • Birincil çökse bile, DBA manuel olarak ikincil’i kurtarma yoluyla geri yükleme yaparak devralabilirsiniz.

✅ Avantajlar

  • Basit ve güvenilir yapı
  • Donanım nedeniyle az
  • Coğrafi olarak uzak sistemler arasında kurulabilir

❌ Dezavantajlar

  • Gerçek nakit değildir
  • Manuel failover gerekir
  • Aralık uzunluğu kadar veri kaybı riski (örneğin 5 adet günlük nakliye aralığında 5 adet veri kaybı)

2️⃣ Database Mirroring  — Gerçek Zamanlı Eşleme

Mantık

Log Shipping’in manuel ve periyodik ayarlarını kaldırmak için saklamak için bir teknolojidir. 
 Mirroring’de Primary veri tabanında yapılan her işlem, log düzeyindeki güncelleme olarak Mirror’a aktarılır.

İstersen Witness sunucusunun otomatik olarak yük devretmesini sağlayabilirsin.

Özellikler

  • İki temel mod: Synchronous (High Safety) ve Asynchronous (High Performance)
  • “Anlık yedekleme” mantığıyla çalışır.
  • Mirror, Primary’nin birebir kopyasıdır.

✅ Avantajlar

  • Anlık replikasyon ile veri kaybı neredeyse sıfır
  • Otomatik yük devretme desteği (Witness dosyası)
  • Donanım bağımsız, yalnızca SQL Server düzeyinde çalışır

❌ Dezavantajlar

  • Sadece bir veritabanının saklanması
  • Sunucu düzeyindeki nesneler (oturum açma bilgileri, işler, bağlantılı sunucular vb.) Mirror’a kopyalanmaz
  • Her veri tabanı ayrı ayrı yönetilir → Çoklu veritabanı senaryolarında karmaşık

3️⃣ Failover Cluster Instance (FCI) — Tüm SQL Server’ı Koruma

Mantık

Database Mirroring yalnızca veri tabanını koruyordu. 
 Peki ya SQL Agent işleri, oturum açma bilgileri, bağlantılı sunucular, SSIS depoları, örnek ayarları ?

İşte FCI, bu boşlukları doldurdu. 
 Burada korunan şey veri tabanı değil, tüm SQL Server hizmetidir.

💾 Paylaşımlı Disk (Paylaşımlı Depolama)

FCI’ın değişimli disk (paylaşılan depolama) yapısı vardır: 
 Birden fazla düğüm (örneğin NodeA ve NodeB) aynı veri diskini (örnek olarak bir SAN — Storage Area Network) görür.

  • Aktif düğüm diske bağlıyken SQL çalışır.
  • NodeA çökerse, Windows Failover Cluster diski NodeB’ye devreder .
  • NodeB SQL hizmetini başlatır; Veriler aynı diskte olduğu için hiçbir yedekleme gerekmez.

✅ Avantajlar

  • Tüm SQL Server örneği korunur
  • Uygulama bağlantı noktası (IP/örnek adı) kalıcı
  • Yük devretme süresi oldukça kısa

❌ Dezavantajlar

  • Tek disk = tek hata noktası (Tek Arıza Noktası)
  • Paylaşımlı depolama pahalıdır ve genellikle aynı yerde olmalıdır
  • FCI sadece bir aktif düğüm çalıştırılabilir (read-scale yok)

💡 “Artık sadece veritabanı değil, tüm SQL Server hizmetini ayakta tutalım.”

4️⃣ Basic Availibility Group (BAG) — Modern ve Hafif Çözüm

Mantık

SQL Server 2016 ile birlikte, Enterprise lisansı olmayan kullanıcılar için AlwaysOn mimarisinin “lite” versiyonu olan Basic AG geldi. 
 Aslında Database Mirroring’in modern devamıdır.

Özellikler

  • 1 İlkokul + 1 Ortaokul
  • Senkron mod ve otomatik yük devretme desteği
  • Yalnızca 1 veri tabanı yönetilebilir

✅ Avantajlar

  • Kurulumu kolay
  • Standard Edition’da çalışıyor
  • Mirroring’e göre daha kararlı ve modern

❌ Dezavantajlar

  • Çoklu DB desteği yok
  • Salt okunur ikincil yok
  • Kurumsal harcamaların çoğu eksik

5️⃣ AlwaysOn Availability Groups (AG) — Kurumsal Dayanıklılık Seviyesi

Mantık

Kurumsal HA/DR ihtiyaçlarının karşılanması için ayrıntılar en kapsamlı teknolojidir. 
 Bir “Erişilebilirlik Grubu” altında anında fazla veri tabanını tek aralığı bütün olarak yönetir.

Özellikler

  • Birden fazla İkincil Replika (5–8’e kadar)
  • Senkron veya Asenkron taahhüt modları
  • Dinleyici sayesinde tek bağlantı noktası
  • Salt okunur ikincil destek (raporlama, yedekleme boşaltma)

✅ Avantajlar

  • Hem HA (kısa kesinti) hem DR (felaket kopması) sağlar
  • Okuma yükü ikincil’lere dağıtılabilir
  • Her düğümün kendi diski vardır → Paylaşımsız mimari (paylaşılmayan depolama)

❌ Dezavantajlar

  • Kurulumu ve yönetimi karmaşıktır
  • Windows Server Yük Devretme Kümesi (WSFC) gerektirir
  • Enterprise Edition lisansı gerektirir

💡 “Artık sadece kurtarmayalım; yükü paylaşalım, aynı anda okuyalım.”

6️⃣ Distrubuted Availibility Group  — Global Ölçekte Dayanıklılık

Mantık

Büyük kurumlar artık sadece bir veri merkezini değil, birden fazla veri merkezini aktif tutmak istiyordu. 
 Dağıtılmış Erişilebilirlik Grubu bu ihtiyaca yanıt verdi.

Özellikler

  • Her veri kendi AG’si vardır
  • AG’ler arası replikasyon yapılır
  • Farklı kümeler (cluster’lar)
  • Kıtalar arası felaket kurtarma senaryolarında

✅ Avantajlar

  • Coğrafi yedeklilik
  • Veri merkezi bağımsızlığı
  • Göç (göç) senaryolarında esneklik

❌ Dezavantajlar

  • Kurulumu karmaşık
  • Yüksek gecikme ortamlarında dikkatli ayarlar ister

💡 “Artık sadece sunucular değil, veri merkezlerinin birbirinin yedeği.”

🔄 Her fırsatta neden bir sonraki teknolojiye geçildi, eksikler biliniyordu?

SQL Server’daki yeni teknolojisi, daha önce yaşanan bir problemin çözülmesi için ortaya çıktı.

SQL Server’daki bu evrim çizgisi, “yedekten kurtulma” mantığından “kesintisiz erişilebilirlik” anlayışına doğru bir dönüşümdür. 
Bugün “AlwaysOn” veya “Distributed AG” çözümleri artık sadece veri kaybının önlenmesiyle kalmıyor; Yük işlemleri, bakanlığın yedeklilik ve performans planlamasını sağlar.

Bir DBA için bu teknolojileri bilmek yalnızca “komutları öğrenmek” değil, 
hangi senaryoda hangisinin uygun olduğunu anlayabilmek demektir.

Hazırlayan: Nedim Akıl
Bilgisayar Mühendisi & DBA Adayı (DMC Bilgi Teknolojileri) 
“Veri kaybı olmadan hayat kurtarmak isteyen bir mühendis.”

Linkedin : https://www.linkedin.com/in/ndmakl/

Leave a Reply

Your email address will not be published. Required fields are marked *