Makalemizin ana konusu bilindiği gibi SQL Server 2012 ile gelen Alwayson özelliğine değinmekti. Makalemizin son bölümünde SQL Server 2012 üzerinde Alwayson özelliğinin nasıl kullanılacağına ve bir AlwaysOn Availability Groups’un nasıl oluşturulacağına değiniyor olacağız. Ayrıca SQL 2012 Alwayson’un sahip olduğu ve getirdiği yeniliklere http://technet.microsoft.com/en-us/library/hh510230.aspx bu adresten göz atmanızı öneririm.

Hazır isek SQL sunucularımız üzeride Alwayson’un aktif edilmesi işlemini başlatalım.

SQL server üzerinde Always On özelliğini aktif edebilmek için öncelikle sunucuların bir Cluster’ın üyesi olması gerekmektedir. Makalemizin önceki adımlarında bu işlemi tamamlamış bulunmaktayız. Kurulumunu tamamlamış olduğumuz SQL sunucular da Always On’u aktif etmek için gerekli tüm ön koşullara sahibiz.

SQL sunucularımızda Always On’u aktif edebilmek için SQL Server Configuration Manager’ı açıyoruz.

alwayson-sql47SQL Server servisine Sağ tıklıyor ve Properties diyoruz.

alwayson-sql48

AlwaysOn High Availability tabına geçiyoruz ve Enable AlwaysOn Availability Groups seçeneğini işaretliyoruz ve arından OK diyoruz.

alwayson-sql49

İşlem sonrasında karşımıza bu işlemin SQL Server servisinin yeniden başlatıldığında aktif olacağına dair bir uyarı çıkmaktadır. OK diyoruz ve yine aynı konsol üzerinden SQL Server servisine Sağ tıklıyor Restart diyoruz.

Yeniden başlatma sonrasında artık SQL sunucularımızda AlwaysOn aktif hale gelecektir.

AlwaysOn İle Availability Groups Yaratma

Her iki Node üzerinde de Always On u aktif etikten sonra Availability Groups oluşturmamız ve ilgili Databaselerimizi bu gruba dâhil etmemiz gerekmektedir. Bu işlem öncesinde ise Database tarafında Full backup alma zorunluluğumuz bulunmaktadır.

Senaryomuz gereği dbTest isimli Database in işlem öncesinde Full Backup ını alıyor olacağız.

NOT : Bu databaseler için Recovery model’in Full olarak seçilmiş olması gerekmektedir.

SQL Server 2012’de Bir Database’in Full Backup’ını Alma

SQL Management Studio ile Full Backup’ı alınacak Database’e sağ tıklanır ve Task kısmından Backup seçilir.

alwayson-sql50

Eğer Backup farklı bir lokasyon a kaydedilmek istenilmiyor ise yeni açılan pencereden OK a tıklanarak hızlı bir şekilde ilgili Database’in Full Backup’ı alınabilir.

alwayson-sql51

İlgili Database için Full Backup alma işlemi tamamlandıktan sonra artık SQL Server için Availability Groups oluşturma işlemini başlatabiliriz.

AlwaysOn Hight Availability Group Oluşturma

Bu işlem için SQL Server Management Studio’yu açalım ve AlwaysOn Hight Availability alanında sağ tıklayarak New Availability Group Wizard’ı çalıştıralım.

alwayson-sql52

Oluşturmayı planladığımız Availability grup için bir isim belirtiyoruz.

alwayson-sql53

Bu grubun üyesi olacak Database veya Databaseleri belirtiyoruz.

alwayson-sql54

Next diyerek işlem adımlarımızı devam ettiriyoruz.

alwayson-sql55

İlgili database için Replika sunucusunu belirtiyoruz. İşlem için Add Replica butonuna tıklıyoruz ve ortamımız da bulunan diğer Cluster üyesi Database sunucusunu yapımıza ekliyoruz.

Eklenilen sunucular için Rolleri atıyoruz. Primary ve Secondary sunucuları belirledikten sonra Automatic Failover seçeneğini aktif ediyoruz. Senaryomuz gereği biz Secondary database’i okunabilir olarak işaretliyoruz. İkincil database’in okunabilir olması yapınıza uygun ve size esneklik sağlıyor ise tercih edebilirsiniz. Birincil database’e yazma işlemleri yapılır iken Secondary database ise sorgulama işlemleri için veya yedekleme işlemleri için kullanabilirsiniz.

alwayson-sql56

Endpoints lerimizi belirtiyoruz. Burada dikkat etmemiz gereken nokta Endpointlerimiz için kullanılan port için Firewall’da ilgili portun açılmış olmasıdır. Endpointler SQL sunucuların kendi aralarında replikasyon işlemleri için haberleşmeyi sağlamaktadır.

alwayson-sql57

Yedekleme işlemleri ile ilgili ayarlarımızı yapılandırıyoruz. Senaryomuz gereği ben Prefer Secondary seçeneğini kullanacağım. Eğer Secondary sunucum kullanılabilir ise yedekler bu sunucu üzerinden eğer kullanılabilir durumda değil ise yedekler Primary sunucum üzerinden alınacaktır.

alwayson-sql58

Eğer SQL sunucularınıza Cluster servisinin IP veya Hostname’i ile değilde farklı bir IP veya Hostname ile SQL sunucularınıza erişmek istiyor iseniz Listener tanımlamanız gerekmektedir.

Senaryomuzda bizim Cluster servisimizde sadece SQL çalışmakla fakat ne anlam ifade ettiğini anlamak adına Listener ekliyoruz.

ÖNEMLİ NOT : Listener’ın sorunsuzca oluşturulabilmesi için Cluster’a ait Computer objesinin bulunduğu Container içerisinde Computer Objesi Create etme yetkisine sahip olması gerekmektedir aksi takdirde aşağıdaki gibi bir hata alınacaktır.

alwayson-sql59

Data senkronizasyonu için bu işlemin hangi metot ile yapılması gerektiğini belirtiyoruz.

alwayson-sql60

Yapmış olduğumuz işlemlerin doğruluğu kontrol edilmektedir.

alwayson-sql61

Görüldüğü gibi herhangi bir sorunumuz bulunmamaktadır. Next diyerek işlemleri başlatmak adına bir sonraki aşamaya ilerliyoruz.

alwayson-sql62

Yapılan işlemlerin bir özeti görülmektedir. Finish diyerek işlemlerin tamamlanmasını bekliyoruz.

alwayson-sql63

Tüm işlemlerimiz başarılı bir şekilde tamamlanmış olup Close diyerek işlemlerimizi sonlandırıyoruz.

alwayson-sql64

Görüldüğü gibi SQL 2012 üzerinde başarılı bir şekilde Availability grubumuzu oluşturduk.

Bu makale ile birlikte adım adım SQL Server 2012 AlwaysOn Cluster işleminin nasıl yapılacağı konusunda değindik. Dilerim bu konuyla ilgili detaylı kaynak arayanlar ve bu işlemi ilk defa yapacak kişiler için yararlı bir makale olmuştur.

Bu makale ile ilk defa Alwayson’u tanıyanlar için ise SQL 2012 ile gelen ve Hight Availability tarafında ciddi yenilikler ve teknolojiler sunan Alwayson mimarisini daha ayrıntılı incelemelerini, Failover Cluster dışında Multiside Clustering gibi ileri seviye konularıda araştırmanızı öneririm.

Saygılarımla.

 

 

 


1 Comment

Bekir Niyaz · 20 August 2015 at 10:36

teşekkür ederim hocam güzel bir makale, emeğinize sağlık

Leave a Reply

Avatar placeholder

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.