Site icon Baki CUBUK

Microsoft SQL Server 2019 Always ON Yapısına Database Eklemek

Merhaba

Daha önceki yazılarımız da Microsoft SQL Server 2016 Failover Cluster Kurulumu, Microsoft SQL Server 2017 Failover Cluster KurulumuMicrosoft SQL Server 2017 Failover Cluster Kurulumu, Microsoft SQL Server 2019 Kurulumu, Microsoft SQL Server Management Studio 18.4 KurulumuMicrosoft SQL Server 2019 Failover Cluster Kurulumu, Microsoft SQL Server 2019 Failover Cluster Yapısına Sunucu Eklemek, Microsoft SQL Server 2019 Failover Cluster Yapısına Database Oluşturmak, Microsoft SQL Server 2019 Failover Cluster Yapısına Database Eklemek ve Microsoft SQL Server 2019 Always ON Kurulumu ve Microsoft SQL Server 2019 Always ON Yapısına Sunucu Eklemek sizlerle paylaşmıştık.

Bu yazımızda da Microsoft SQL Server 2019 Always ON yapısınına Database ( Veritabanı ) Attach ( Eklemek ) etmeyi ve sonrasında Microsoft SQL Server 2019 Always ON yapısınına eklemeyi anlatacağız.

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 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.

Daha önceki Microsoft SQL Server Management Studio 18.4 Kurulumu sizlerle paylaşmıştık. BAKICUBUKAO isimli Availability Group yapısı üzerine Connect diyerek bağlanıyoruz.

BAKICUBUKAO isimli Availability Group yapısı üzerinde sağ tuş Attach diyerek varolan bir Database ( Veritabanı ) Microsoft SQL Server sunucumuz üzerine ekliyoruz.

Attach Database ekranın da Databases to attach bölümünde Add diyoruz.

Locate Database Files ekranın da MUGECUBUK.mdf isimli Database ( Veritabanı ) seçerek OK diyoruz.

Attach Database ekranın da Databases to attach bölümüne MUGECUBUK.mdf isimli Database ( Veritabanı ) geldiğini görüyoruz.

“MUGECUBUK” database detailes bölümünde Transaciton log file not found. A new empty log file will be created olarak görüyoruz. Database ( Veritabanı ) Log dosyası başka bir dizinde bulunduğu için böyle bir hata görüyoruz.

Attach Database ekranın da “MUGECUBUK” database detailes bölümünde Log Database ( Veritabanı ) dosyasını dizini yapılandırıyoruz.

Locate Database Files ekranın da MUGECUBUK_log.ldf isimli Log Database ( Veritabanı ) seçerek OK diyoruz.

Attach Database ekranın da gerekli yapılandırmayı tamamladıktan sonra OK diyoruz.

MUGECUBUK isimli Database ( Veritabanı ) BAKICUBUKAO isimli Availability Group yapısı üzerine Attach ( Eklemek ) edildiğini görüyoruz.

Oluşturduğumuz MUGECUBUK isimli Database ( Veritabanı ) üzerinde SQL Always ON yapısına dahil etmeden Full Backup alıyoruz. Eğer SQL Always ON yapısına dahil etmeden önce Full Backup almazsanız hata alabilirsiniz.

MUGECUBUK isimli Database ( Veritabanı ) üzerinde sağ tuş Tasks menüsünden Back UP… diyoruz.

Back Up Database – MUGECUBUK üzerinde Destination bölümünde Microsoft SQL Server 2019 kurulumu sırasında yapılandırmış olduğumuz Disk üzerine Backup alınacaktır. OK diyerek Backup işlemini başlatıyoruz.

MUGECUBUK isimli Database ( Veritabanı ) üzerinde Backup işlemi tamamlandı. OK diyerek kapatıyoruz.

Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability altında bulunan Availability Groups altında bulunan BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasında Availability Database sekmesi altında BAKICUBUK isimli Database ( Veritabanı ) görüyoruz.

MUGECUBUK isimli Database ( Veritabanı ) SQL Server Always ON yapısına dahil etmek için Availability Groups altında bulunan BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırması üzerinde sağ tuş Add Database diyebiliriz.

MUGECUBUK isimli Database ( Veritabanı ) SQL Server Always ON yapısına dahil etmek için Availability Database sekmesinde sağ tuş Add Database diyebiliriz.

Introduction ekranın da Always On High Availability yapısı için gerekli yapılandırma için bilgileri görüyoruz. Next diyerek devam ediyoruz.

Select Databases ekranın da Availability Group dahil edeceğimiz Database ( Veritabanı ) seçmemiz gerekiyor. Daha önce Availability Group yapısına dahil ettiğimiz BAKICUBUK isimli Database ( Veritabanı ) Status bölümünde Already part of this availability group olarak görüyoruz. Availability Group yapısına dahil edeceğimiz MUGECUBUK isimli Database ( Veritabanı ) Status bölümünde Meets prerequisities olarak görünüyor. Eğer Database ( Veritabanı ) üzerinde Full Backup almazsanız Status bölümü Full backup is required olarak görünecektir ve Database ( Veritabanı ) üzerinde Full Backup almadığınız için Availability Group yapısına ekleyemezsiniz.

Select Databases ekranın da Availability Group yapısına dahil edeceğimiz MUGECUBUK isimli Database ( Veritabanı ) Status bölümünde Meets prerequisities olarak görüyoruz. MUGECUBUK isimli Database ( Veritabanı ) seçiyoruz ve Next diyerek devam ediyoruz.

Connect to Existing Secondary Replicas ekranın da W19SQL19NOD2 ve W19SQL19NOD3 isimli sunucularımızı Secondary olarak yapılandıracağımız için bu sunucularımız üzerine bağlanmamız gerekiyor.

Connect to Existing Secondary Replicas ekranın da W19SQL19NOD2 isimli sunucumuzu Secondary olarak yapılandıracağımız için bu sunucumuz üzerine Connect diyerek bağlanıyoruz.

Connect to Server ekranın da Server name bölümüne W19SQL19NOD2 olarak geliyor ve Connect diyoruz.

Connect to Existing Secondary Replicas ekranın da W19SQL19NOD2 isimli sunucumuzu Secondary olarak yapılandırdık.

Connect to Existing Secondary Replicas ekranın da W19SQL19NOD3 isimli sunucumuzu Secondary olarak yapılandıracağımız için bu sunucumuz üzerine Connect diyerek bağlanıyoruz.

Connect to Server ekranın da Server name bölümüne W19SQL19NOD3 olarak geliyor ve Connect diyoruz.

Connect to Existing Secondary Replicas ekranın da W19SQL19NOD2 ve W19SQL19NOD3 isimli sunucularımızı Secondary olarak yapılandırdıktan sonra Next diyoruz.

Select Initial Data Synchronization ekranın da Secondary sunucusu üzerine Database ( Veritabanı ) senkronizasyonun ilk yapılandırmasını nasıl yapacağımızı seçtiğimiz ekrandır.

Automatic seeding : Bu seçenek ile devam edersek eğer Secondary sunucusu üzerine Database ( Veritabanı ) senkronizasyonu için gerekli olan bütün işlemler Automatic ( Otomatik ) olarak gerçekleştirilecektir.

Full database and log backup : Bu seçenek ile devam edersek eğer her Database ( Veritabanı ) Full Backup ve Log Backup dosyalarını yapılandırmış olduğumuz Share ( Paylaşım ) üzerinden alarak Secondary sunucumuz üzerine kendisi aktarır ve bu işlem için sunucularımız üzerindeki Instance’ın SQL Server Servis hesaplarının Write ( Yazma ) ve Read ( Okuma ) yetkisi olan bir Share ( Paylaşım ) istemektedir. Yapılandırdığınız Share ( Paylaşım ) diskinde bulunan Database ( Veritabanı ) Full Backup ve Log Backup sığacağı kadar yer olmalıdır.

Join only : Bu seçenek ile seçtiğimiz her Database ( Veritabanı ) Full Backup ve Log Backup Manuel ( Manuel ) olarak alıp Manuel ( Manuel ) olarak Secondary sunucusuna bu adımı geçmeden önce kopyalamamız gerekir.

Skip initial data synchronization : Bu seçenek ile yine her Database ( Veritabanı ) Full Backup ve Log Backup Manual ( Manuel ) olarak alıp Manual ( Manuel ) olarak Secondary sunucumuz üzerine kopyalamamız gerekir. Ancak Join only seçeneğinden farklı olarak bu işlemi sonra yapabiliriz.

Select Initial Data Synchronization ekranın da Secondary sunucusu üzerine senkronizasyonun Automatic seeding seçeneğini seçiyoruz ve Next diyerek devam ediyoruz.

Validation ekranın da MUGECUBUK isimli Database ( Veritabanı ) Availability Group yapısına dahil etmek için gerekli kontroller yapılıyor. MUGECUBUK isimli Database ( Veritabanı ) Availability Group yapısına dahil etmek için bütün adımları Success olarak görüyoruz. Eğer bir sorun varsa Error olarak görürdük ve Back diyerek geri gidebilirsiniz ve yanlış yaptığınız bir yapılandırma varsa yapılandırmayı düzelttikten sonra Re-run validation diyebilirsiniz.

Validation ekranın da MUGECUBUK isimli Database ( Veritabanı ) Availability Group yapısına dahil etmek için herhangi bir sorun olmadığı için Next diyerek devam ediyoruz.

Summary ekranın da MUGECUBUK isimli Database ( Veritabanı ) Availability Group yapısına dahil etmek için gerekli olan yapılandırmanın bir özetini görüyoruz. Finish diyerek MUGECUBUK isimli Database ( Veritabanı ) Availability Group yapısına dahil etmek için işlemi başlatıyoruz. Script bölümünde Database ( Veritabanı ) Availability Group yapısına dahil etmek için yapılandırmış olduğunuz yapılandırmayı Script ( Senaryo ) olarak alabilirsiniz.

Results ekranın da MUGECUBUK isimli Database ( Veritabanı ) Availability Group yapısına başarılı bir dahil edildiğini görüyoruz. Close diyerek Add Database to Availability Group Wizard ekranını kapatıyoruz.

Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability altında bulunan Availability Groups altında bulunan BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasında Availability Database sekmesi altında MUGECUBUK isimli Database ( Veritabanı ) görüyoruz.

Microsoft SQL Server Management Studio ( SSMS ) konsolunu üzerinde Always On High Availability altında bulunan Availability Groups altında bulunan BAKICUBUKAO ismi ile yapılandırmış olduğumuz Availability Group yapılandırmasında Databases sekmesi altında MUGECUBUK isimli Database ( Veritabanı ) geldiğini ve Synchronized olarak görüyoruz.

 

Başka bir yazımızda görüşmek dileğiyle…

 

Exit mobile version