Merhaba
Daha önceki yazılarımız da Microsoft SQL Server 2016 Failover Cluster Kurulumu 1, Microsoft SQL Server 2016 Failover Cluster Kurulumu 2, Windows Server 2016 üzerinde Microsoft SQL Server 2017 Failover Cluster Kurulumu 1, Windows Server 2016 üzerinde Microsoft SQL Server 2017 Failover Cluster Kurulumu 2, Windows Server 2019 üzerinde Microsoft SQL Server 2017 Failover Cluster Kurulumu 1, Windows Server 2019 üzerinde Microsoft SQL Server 2017 Failover Cluster Kurulumu 2, Windows Server 2019 üzerinde Microsoft SQL Server 2019 Always ON Kurulumu 1, Windows Server 2019 üzerinde Microsoft SQL Server 2019 Always ON Kurulumu 2, Windows Server 2019 üzerinde Microsoft SQL Server 2019 Always ON Kurulumu 3, Microsoft SQL Server 2019 Failover Cluster Yapısına Sunucu Eklemek, Microsoft SQL Server 2019 Failover Cluster Yapısına Database Oluşturmak ve Microsoft SQL Server 2019 Failover Cluster Yapısına Database Eklemek sizlerle paylaşmıştık.
Peki Nedir SQL Server Always ON :
Microsoft SQL Server Always ON yapısı High Availability ( Yüksek Erişebilirlik ) ve Disaster Recovery ( Felaket Kurtarma ) çözümüdür.
High Availability ( Yüksek Erişebilirlik ) şirket ortamlarınızda bulunan Datacenter ( Veri Merkezi ) üzerinde birden fazla sunucu ile yapılır. Sunuculardan birinin Donanımsal ya da Yazılımsal bir sorun nedeniyle arızalanması durumunda diğer sunucunuzun devreye girmesini sağlayan teknolojidir.
Disaster Recovery ( Felaket Kurtarma ) şirket ortamlarınızda bulunan Datacenter ( Veri Merkezi ) üzerinde oluşabilecek herhangi beklenmedik bir felaket sonucu ( Deprem, Sel, Yangın ) Datacenter ( Veri Merkezi ) tamamen hizmet veremez duruma gelme ihtimaline karşı farklı bir uzak lokasyonda Datacenter ( Veri Merkezi ) kurularak sağlanır. Örneğin Datacenter ( Veri Merkezi ) Istanbul’da ise Disaster Recovery ( Felaket Kurtarma ) olarak İstanbul’da farklı bir lokasyonu ya da Ankara,İzmir gibi uzak ve daha az riskli bir lokasyonu Disaster Recovery ( Felaket Kurtarma ) için tercih edebilirsiniz. Microsoft Azure Cloud ve Amazon Cloud gibi Cloud ( Bulut ) hizmetlerinde Disaster Recovery ( Felaket Kurtarma ) Datacenter ( Veri Merkezi ) olarak yapılandırabilirsiniz.
Microsoft SQL Server Always ON yapısı kurulum ve yapılandırması için ortamınızda Windows Server Failover Cluster yapısı içinde en az iki sunucuya ihtiyac duymakdır.
Availability Group yapısını Synchronous ( Senkron ) olarak yapılandırırsanız Availability Group yapısı içindeki tüm Database ( Veritabanı ) Synchronous ( Senkron ) bir şekilde çalışacaktır. Yani ortamdaki Primary Database ( Veritabanı ) gelen bir istek Secondary Database ( Veritabanı ) işlenmeden kullanıcıya işlem tamamlandı bilgisi iletilmeyecektir. Bu çok yoğun Transaction ( İşlem ) alan Database ( Veritabanı ) biraz performans kaybına neden olabilir. Ama Automatic ( Otomatik ) Failover Synchronous ( Senkron ) Availability Group yapısı yapılabildiği için herhangi bir sorun yaşamazsınız. Sunucularda herhangi bir Donanımsal ya da Yazılımsal bir sorun olması durumunda herhangi bir kesinti yaşanmadan Availability Group yapısı diğer sunucudan Automatic ( Otomatik ) bir şekilde hizmet vermeye devam edecektir.
Availability Group yapısını Asynchronous ( Asenkron ) olarak yapılandırısanız eğer. Primary Database ( Veritabanı ) veritabanına gelen bir istek Secondary Database ( Veritabanı ) işlenmeyi beklemeden direk kullanıcıya işlem tamamlandı bilgisi iletilecektir ve arka tarafta Synchronous ( Senkron ) yapılacaktır. Asynchronous ( Asenkron ) olarak yapılandırılan Availability Group yapısında Secondary Database ( Veritabanı ) yazma işlemi için belli bir süresi yoktur. Buradaki yazma işlemi ortamınızda mevcut Donanım ve Network yapınızın Performansına bağlı olarak değişkenlik gösterebilir.
Availability Group yapısını Automatic ( Otomatik ) ya da Manual ( Manuel ) olarak Failover yapabilirsiniz. Automatic ( Otomatik ) Failover yapabilmek için Availability Group yapısını Synchronous ( Senkron ) olarak yapılandırmanız gerekmektedir. Çok yoğun Transaction ( İşlem ) içeren sistemlerde Availability Group yapısını Synchronous ( Senkron ) ve Automatic ( Otomatik ) olarak yapılandırabiliriz. Index Rebuild ( Dizin Yeniden Oluşturma ) işlemlerinde Performans kaybı daha fazla olduğu için sıkıntı yaşayan yapılarda Index Rebuild ( Dizin Yeniden Oluşturma ) öncesinde Availability Group yapısını Asynchronous ( Asenkron ) olarak yapılandırabilirsiniz.
Automatic ( Otomatik ) Failover işlemi Availability Group yapısını dahil bir Database ( Veritabanı ) oluşan bir hata sonucu gerçekleşmez. Availability Replica seviyesinde gerçekleşir. Availability Group yapısında Database ( Veritabanı ) biri Corrupt ( Bozulma ) olması Transaction Log ( İşlem Logu ) dolmuş, Database ( Veritabanı ) bulunduğu Data dizini dolmuş gibi sebeplerde Automatic ( Otomatik ) Failover işlemi gerçekleşmez.
High Availability ( Yüksek Erişebilirlik ) ve Disaster Recovery ( Felaket Kurtarma ) SQL ServerAlways ON’da nasıl kullanıldığını için örnek vermemiz gerekirse.
Datacenter ( Veri Merkezi ) iki Adet sunucumuz var. Bu iki sunucumuzu Windows Server Failover olarak yapılandırdınız. Bu iki sunucumuz üzerinde SQL Server Always ON yapılandırdınız ve Synchronous ( Senkron ) olarak yapılandırdınız. Bu yapılandırmaya High Availability ( Yüksek Erişebilirlik ) yapılandırması deriz.
Datacenter ( Veri Merkezi ) iki Adet sunucumuz var. Bu iki sunucumuzu Windows Server Failover olarak yapılandırdınız Datacenter ( Veri Merkezi ) bir sıkıntı olma ihtimaline karşı başka bir lokasyonda Datacenter ( Veri Merkezi ) üzerinde bir sunucuz var. Bu sunucuyuda mevcut Windows Server Failover yapınıza dahil ettiniz ve mevcut SQL Server Always ON yapınıza Replica ( Kopya ) olarak yapılandırdınız ve Asynchronous ( Asenkron ) olarak yapılandırdınız. Bu yapılandırmaya Disaster Recovery ( Felaket Kurtarma ) yapılandırması deriz. SQL Server Always ON yapısında aynı Availability Group yapısı içinde birden fazla Secondary yapılandırması yapabilirsiniz.
Daha önceki Microsoft SQL Server 2022 Always ON Kurulumu 1 yazısında W22SQL22NOD1 ve W22SQL22NOD2 isimli sunucularımız üzerinde Windows Failover Cluster kurulumu ve yapılandırmasını sizlere paylaşmıştık. Microsoft SQL Server 2022 Always ON Kurulumu 2 yazısında W22SQL22NOD1 ve W22SQL22NOD2 isimli sunucularımız üzerinde Microsoft SQL Server 2022 kurulumlarını tamamlayarak sizlere paylaşmıştık. Microsoft SQL Server 2022 Always ON Kurulumu 3 yazısında W22SQL22NOD1 ve W22SQL22NOD2 isimli sunucularımız üzerinde Microsoft SQL Server 2022 Always ON kurulumu ve yapılandırması için Microsoft SQL Server 2022 servislerindeki gerekli yapılandırmayı tamamlayarak sizlere paylaşmıştık. Microsoft SQL Server 2022 Always ON Kurulumu 4 yazısında Microsoft SQL Server 2022 SQL Always ON yapılandırmasını sizlere paylaşmıştık
Microsoft SQL Server 2022 SQL Always ON yapılandırması sonrasında yazılarımız da Microsoft SQL Server 2022 Always ON Database Attach, Microsoft SQL Server 2022 Always ON Database Restore ve Microsoft SQL Server 2022 Always ON Manuel Failover sizlere paylaşmıştık
Bu yazımız da Microsoft SQL Server 2022 SQL Always ON yapısında Otomatik Failover yapılandırmasını anlatıyor olacağız.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu açıyoruz.
Connect to Server ekranın da Server name bölümüne BAKICUBUKSQLAO isimli Listener DNS Name ( Dinleyici DNS Name ) yazıyoruz.
Connect to Server ekranın da Windows Authentication seçiyoruz ve Connect diyoruz.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability bölümü altında bulunan Availability Groups bölümün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını,
Availability Replicas bölümü altında W22SQL22NOD1 isimli sunucumuzu ( Primary ) olarak W22SQL22NOD2 isimli sunucumuzu ( Secondary ) olarak görüyoruz.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability bölümü altında bulunan Availability Groups bölümün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını görüyoruz.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability bölümü altında bulunan Availability Groups bölümün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapısı üzerinde üzerinde sağ tuş Properties diyoruz.
Availability Group Properties – BAKICUBUKAO isimli Availability Group yapısının yapılandırılmış ayarlarını görüyoruz.
General sekmesi altında bulunan
Availability group name bölümünü BAKICUBUKAO isimli Availability Group yapısını görüyoruz.
Cluster type bölümünü Windows Server Faliover Cluster ( WSFC ) görüyoruz.
Required Synchronized secondaries to commit : işlemi tamamlamak için senkronize edilmiş ikincil kopyaların sayısıdır. Replika sayısına göre ayarlanır.
Database level health detection : Bu seçenek veritabanlarınız için yüksek kullanılabilirliği garanti etmeye yardımcı olmak için iyi bir seçenek olarak önerilir. Database level health detection, özellikle always on kullanıldığında database seviyesinde bütünlük kontrolü yapmakta.
- Sayfa ve ayrıma bozuklukları
- Disk bozulmaları
- Denetim noktası hataları
- Donanım ve bellek bozulmaları
- Eksik dosyaların neden olduğu hatalar
- FILESTREAM işlem günlüğü kaydı nedeni ile oluşan bozulmalar
- Log bozulmaları
Bu gibi durumlar gerçekleştiğinde Failover diğer Microsoft SQL Server Always ON sunucusu üzerine gerçekleştirilir. Microsoft SQL Server 2016 öncesin de sadece sunucu tarafında bir olay yaşanması durumunda Otomatik Failover yapmaktaydı. Şimdi ise Database ( Veritabanı ) seviyesinde de oluşan hatalar ve bozulmalar sonucunda da Otomatik Failover gerçekleşiyor. Bunun için tabiki Database level health detection seçeneğinin seçili olması gereklidir.
Per Database DTC Support : Bu seçenek Microsoft SQL Server Always ON yapısında, dağıtık yapıda sunucular var ve yük devirleri kendi aralarında yapılıyor ise bu Failover işlemlerini takip eden ve tutarlılık kontrolü yapan bir sevise ihtiyac var idi. Microsoft bu işlem için DTC servisini yayınladı. Windows Server 2016 ve Windows Server 2012 R2 serverlerı ile kullanılabilirdi. Microsoft SQL Server versiyonu ise Microsoft SQL Server 2016 dır. Bu servisi devreye almak için Per Database DTC Support işaretlenmesi yeterlidir.
Availability Database bölümünde BAKICUBUKAO isimli Availability Group yapılandırmasında yapılandırmış olduğumuz BAKICUBUKDB isimli Database ( Veritabanı ) görüyoruz.
Availability Replicas bölümü altında
Server Instance sekmesin de Microsoft SQL Server 2022 Always ON yapısı içindeki W22SQL22NOD1 ve W22SQL22NOD2 isimli sunucularımızı görüyoruz.
Role sekmesin de Microsoft SQL Server 2022 Always ON yapısı içindeki W22SQL22NOD1 isimli sunucumuzu Primary olarak yani birinci sunucu olarak görünmektedir. W22SQL22NOD2 isimli sunucumuz Secondary olarak yani ikinci sunucu olarak görünmektedir.
Availability Mode sekmesin de Asynchronous commit ve Synchronous commit olarak yapılandırabilirsiniz.
Asynchronous commit : Asynchronous commit seçeneğinde Birincil çoğaltma, işlem günlüğü bloklarını ikincil bir çoğaltmaya gönderir, ancak işlem tamamlamak için onay beklemez. Felaket kurtarma çözümleri için uygundur
Synchronous commit : Synchronous commit seçeneğinde Birincil çoğaltma, ikincil bir çoğaltmadan işlemin tamamlanmasını bekler. Onay alındıktan sonra, SQL Server Always ON istemciye onay verir.
Failover Mode sekmesin de Automatic ( Otomatik ) ve Manual ( Manuel ) olarak olarak yapılandırabilirsiniz.
General sekmesi altında bulunan Availability Replicas bölümü altında bulunan Failover Mode sekmesin de Automatic ( Otomatik ) ve Manual ( Manuel ) olarak yapılandırabilirsiniz.
General sekmesi altında bulunan Availability Replicas bölümü altında bulunan Failover Mode sekmesini Automatic ( Otomatik ) olarak yapılandırıyoruz ve OK diyoruz.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability bölümü altında bulunan Availability Groups bölümün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını,
Availability Replicas bölümü altında W22SQL22NOD1 isimli sunucumuzu ( Primary ) olarak W22SQL22NOD2 isimli sunucumuzu ( Secondary ) olarak görüyoruz.
W22SQL22NOD1 isimli sunucumuzu kapatıyoruz.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability bölümü altında bulunan Availability Groups bölümün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını,
Availability Replicas bölümü altında W22SQL22NOD2 isimli sunucumuzu ( Primary ) olarak yani birinci sunucu olarak görünmektedir.
W22SQL22NOD1 isimli sunucumuzu ( Secondary ) olarak ve ulaşılmadığını görüyoruz.
Failover Cluster Manager konsolun da Windows Server Failover Cluster ( WSFC ) yapımızla ilgili Summary of Cluster SQLFOC bölümün de yapımız ile ilgili bilgileri görüyoruz.
Clusters bölümü altında Node Status bölümünde 1 down, 2 total olarak görüyoruz. W22SQL22NOD1 isimli sunucumuz kapalı olduğu için Down görünmektedir.
Failover Cluster Manager konsolun da Roles ( Rol ) menüsün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını Status bölümünde Running olarak görüyoruz.
Failover Cluster Manager konsolunda Nodes menüsün de
W22SQL22NOD1 isimli sunucumuzun Status bölümünde Up olarak görünmektedir.
W22SQL22NOD2 isimli sunucumuzun Status bölümünü Down olarak görüyoruz.
W19SQLNOD1 isimli sunucumuzu açıyoruz.
Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability bölümü altında bulunan Availability Groups bölümün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını,
Availability Replicas bölümü altında W22SQL22NOD1 isimli sunucumuzu ( Primary ) olarak W22SQL22NOD2 isimli sunucumuzu ( Secondary ) olarak görüyoruz.
Failover Cluster Manager konsolun da Windows Server Failover Cluster ( WSFC ) yapımızla ilgili Summary of Cluster SQLFOC bölümün de yapımız ile ilgili bilgileri görüyoruz.
Clusters bölümü altında Node Status bölümün de 2 total olarak görüyoruz.
Failover Cluster Manager konsolun da Roles ( Rol ) menüsün de BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasını Status bölümünde Running olarak görüyoruz.
Failover Cluster Manager konsolunda Nodes menüsün de
W22SQL22NOD1 ve W22SQL22NOD2 isimli sunucularımızın Status bölümünü Up olarak görünmektedir.
Başka bir yazımızda görüşmek dileğiyle….