Tag Archives: sql server 2016 alwayson

SQL Server 2016 AlwaysOn da Yük Dengeleme

SQL Server 2016 ile birlikte gelen yeniliklerden birisi de AlwaysOn yapısında yer alan ikincil replika sunucuları arasında için yük dengeleme özelliğidir. Bu özellik read-only modunda çalışan replika sunucuları arasında gelen isteklerin yük dağılımlı olarak yönlendirilmesini sağlar.

SQL Server 2012 ve 2014 de read-only yönlendirme trafiği yönlendirme listesindeki ilk uygun replika sunucusuna yönlendirilmekteydi. Eğer bu sunucuya erişilemez ise listedeki diğer sunucuya yönlendirilirdi. Eğer çok sayıda ikincil replika sunucunuz var ise okuma işlemlerini bu sunucular arasında yük dengeli olacak şekilde yönlendiremezsiniz.

SQL Server 2016 da sorgulamalar yük dengeli olarak sunuculara dağıtılabilmektedir.

Uygulanışı:

Yapılandırma için üç adet SQL Server 2016 sunucu kullanıyorum. Bu sunucular Windows Server 2016 üzerine kuruludur.

ORTACAG ismi ile açlışan bir AlwaysOn yapım mevcut. WINSRV01 primiary server, WINSRV02 ve 03 secondary server olarak görev yapmaktadır. Listener ismi olarak da “LST” yi kullanmaktayız.

 

SQL Server 2016 AlwaysOn Üç Nodlu Otomatik Failover

SQL Server 2012 ve 2014 sürümlerinde iki adet senkron çalışan ikincil (secondary) replika sunucusu oluşturulabilir. Bu sunuculardan bir adeti öncelikli (primary) replika sunucusu ile otomatik failover yapabilmektedir.

SQL Server 2016 AlwaysOn teknolojisinde yapılan geliştirme sayesinde öncelikli replika sunucusu ile artık iki adet ikincil replika sunucusu otomatik failover yapabilir. Yani önceki sürümlere göre bu sayı bir artmıştır.

 

Görüldüğü üzere otomatik failover yapabilen sunucu sayısı artık üçtür.

Aşağıdaki sorgu ile de sunucuların yapılandırılmasını ve durumunu görebiliriz.

select replica_server_name, availability_mode_desc,failover_mode_desc, database_id, synchronization_health_desc,synchronization_state_desc,* from sys.availability_replicas as AR inner join sys.dm_hadr_database_replica_states as DRS on DRS.replica_id = AR.replica_id

 

Birincil sunucu çalışmayı durduğunda otomatik failover konumundaki ikincil replika sunucusu devreye girecektir. Fakat artık iki adet otomatik failover konumunda ikincil sunucu var.

Hangi sunucunun birincil sunucu olarak çalışmaya devem edeceğine Windows Failover hizmeti karar verir.

AlwaysOn rolü üzerindeki ayarlarda tercih edilen sahiplik seçeneği mevcuttur.

Bu bölümde üç adet sunucu yer alır. İlk sıradaki birincil replika sunucumuzdur. Hemen altında yer alan ikinci sıradaki sunucu ise birincil sunucumuzun başına bir şey geldiği zaman ilk olarak devreye girecek olan sunucudur. Üçüncü sırada ise son ikincil replika sunucumuz vardır. Bu sunucu son olarak devreye girer yani ikinci sıradaki sunucuda çalışmaz hale gelir ise.

Bu yapılandırılma Windows Failover Cluster menüsü üzerinden değiştirilemez. AlwaysOn replika sunucularını kaldırıp tekrar ekleyerek sıra değiştirilebilir. Fakat bu yöntemde çalışan sistem için önerilmez.

Workgroup Ortamında SQL Server 2016 AlwaysON Yapılandırılması

Windows Server 2016 ile gelen Workgroup ve Multi-Domain Cluster özelliği bir takım cluster uygulamalarında active directory bağımlılığını ortadan kaldırmakta ya da farklı domaindeki sunucuların birbirleri ile cluster olabilmesine olanak tanımaktadır.

Bu konu ile ilgili yapılandırma ayarlarını aşağıdaki bağlantıda bulabilirsiniz.

https://ortacdemirel.com/windows-server-2016-workgroup-ve-multi-domain-cluster/

Always On özelliği de bu yapı ile birlikte kullanılabilmektedir.

SQL Server 2016 ile gelen bu destek hali ile sadece Windows Server 2016 üzerinde kullanılabilmektedir. Bu yüzden yukardaki bağlantıda yer alan yapılandırmaları daha önceden yapmış olmanız gerekmektedir.

Windows Server 2016 sunucularını workgroup ortamında cluster çalışacak şekilde yapılandırdıktan sonra Always On kurulumuna geçebilirsiniz.

SQL Server 2016 sunucularımızda bu uygulamayı yapmak için sql hizmetlerini yerel hesaplar ile çalıştırabiliriz. Ayrıca SQL sunucularınız arasında 5022 portuna güvenlik duvarından izin vermeniz de gerekmektedir.

İlk olarak her iki sql sunucumda Configuration Manager ı açıp instance özelliklerine girip AlwaysOn Availability Groups u aktif hale getiriyorum.