SQL Server Database Mirroring Failover ve Failback Senaryoları

SQL Server üzerinde Database Mirroring yapılandırmasına daha önceki makalemde değinmiştim.

http://www.ortacdemirel.com/sql-server-database-mirroring-yapilandirilmasi

Database Mirroring kurulumu ve yapılandırılması bittikten sonra sıra geldi sunucular için Failover ve Failback testlerini yapmaya. Bu testlerde principal ve mirror sunucular arasında geçiş, principal sunucu kaybedildiğinde mirror sunucu üzerinden veri tabanına erişme ve son olarak principal tekrar ayağa kalktığında database mirroring i eski haline getirme işlemlerine değineceğim.

Yapımızda iki adet sql sunucu bulunmaktadır. SQLServer1 principal sunucu iken SQLServer2 mirror sunucudur.

SQLServer1 üzerinden veri tabanımıza erişebilmekteyiz. Veri tabanımızın yanında Principal,Synchronized yazmaktadır.

 

SQLServer2 üzerinden veri tabanımıza erişemiyoruz. Veri tabanımızın yanında Mirror,synchronized,restoring yazmaktadır.

 

1.Senaryo:

Bu senaryoda principal sunucu da bakım yapacağımız zaman, artık hizmeti ikinci sunucu üzerinden vermek istediğimiz zaman ya da test amaçlı uygulayabiliriz.

İlk olarak principal server üzerinden veri tabanımızın mirror ayarlarına geliyoruz ve “Failover” seçeneği ile principal sunucu ile mirror sunucuyu yer değiştiriyoruz.

 

Karşımıza çıkan uyarıyı da onaylayıp işlemi başlatınca SQLServer1 ile SQLServer2 görev değişimini yapacaktır.

SQLServer1 mirror sunucu olurken

 

SQLServer2 principal sunucu olmuştur.

 

Bu yöntemi principal sunucu da bakım yapacağımız, artık hizmeti ikinci sunucu üzerinden vermek istediğimiz zaman ya da test amaçlı uygulayabiliriz.

Aynı işlem ile tekrar eski haline getirebiliriz.

2.Senaryo:

Bu senaryo da ise principal sunucumuz bizim isteğimiz dışında kapanması ya da hizmet verememesi durumunda mirror sunucudan veri tabanımıza nasıl erişebileceğimize değineceğiz.

Principal sunucunun hizmet verememesi durumunda automatic failover yapılandırılması yok ise mirror sunucudan veri tabanımıza erişemeyiz.

Mirror sunucuda aşağıdaki komutu çalıştırıyoruz.

ALTER DATABASE  <veri tabanı ismi>  SET PARTNER  FORCE_SERVICE_ALLOW_DATA_LOSS

 

Bu işlemin ardından mirror olan sunucumuza artık principal konumuna geçiyor. Veri tabanımızın yanında principal,disconnect yazısı çıkıyor.

 

Bu aşamadan sonra veri tabanımıza rahatlıkla erişebiliriz.

3.Senaryo:

Son senaryomuz ise 2.senaryomuzda kapanan principal sunucunun tekrar ayağa kalkması ile database mirroring yapısını ilk başta olduğu gibi yedekli konuma getirmek.

Principal sunucu açıldığında veri tabanımızın durumu Mirror,suspended/restoring konumuna geçiyor.

 

İkinci sunucumuz da ise veri tabanı durumu  principal,suspended konumuna geliyor.

 

İkinci yanı veri tabanına erişebildiğimiz sunucudan mirror ayarlarına geliyoruz.

Database mirrorring i “resume” seçeneği ile tekrar başlatıyoruz.

 

Karşımıza çıkan bilgi ekranını onaylayıp işlemi başlatıyoruz.

Bu aşamadan sonra sql server lar birbirleri ile konuşup veri tabanını tekrar senkronize edeceklerdir.

Paylaş

Leave a Reply

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