MSSQL Server AlwaysOn Any Replica Yöntemi ile Backup Alma

Bu makalede AlwaysOn yapısında başka bir  backup yöntemi olan Any Replica kısmına değineceğiz. Any Replica  ile backup önceliğe göre belirleniyor. Backup Priority değeri hangisinde 100 değerine daha yakınsa ilk başta backup’ı o sunucuda almaktadır. Eğer iki değer eşitse sol taraftaki sıralamaya göre alır. Yani ilk başta S1\INST01 sunucusuna backup alır.

Aşağıdaki bulunan AlwaysOn properties bölümünde S2\INST01sunucumu backup için öncelikli hale getirmiş oldum.

Tabi belirlediğimiz kıstasın çalışması için backup alınırken any replica kontrolü yapılması gerekmektedir.

Exclude diyerek ilgili sunucudan  backup alma diyebiliriz. Ben yukarıda secondary sunucuma  backup alma konusunda öncelik verdim  örnek olarak bir backup alalım bakalım hangi sunucuda almış  olacak.

Aşağıdaki script ile primary ve secondary sunucularında backup alma işlemini gerçekleştiriyorum.

EXECUTE [dbo].[DatabaseBackup]
@Databases='USER_DATABASES',
@Directory = N'C:\BACKUP',
@CopyOnly ='Y',
@BackupType = 'FULL',
@Verify = 'Y',
@CleanupTime = 168,
@CleanupMode = 'AFTER_BACKUP',
@CheckSum = 'Y',
@Compress = 'Y',
@LogToTable = 'Y';

İlgili AG altındaki veritabanının backup işleminin gerçekleşmediğini görmüş oluyoruz. Komutta User_Databases ifadesi kullanıldığı için stand alone veritabanlarında backup işlemi gerçekleşmektedir.

Secondary sunucusunda aynı işlemi gerçekleştirelim backup işlemimizin gerçekleşip gerçekleşmediğini gözlemleyelim.

EXECUTE [dbo].[DatabaseBackup]
@Databases='USER_DATABASES',
@Directory = N'C:\BACKUP',
@CopyOnly ='Y',
@BackupType = 'FULL',
@Verify = 'Y',
@CleanupTime = 168,
@CleanupMode = 'AFTER_BACKUP',
@CheckSum = 'Y',
@Compress = 'Y',
@LogToTable = 'Y';

Ne kadar AG properties ekranında bulunan Backup Preferences ile backup alınacak sunucuyu değiştirsek bile secondary sunucusundan backup işlemi gerçekleşmez. Secondary sunucusunda full backup sadece copy only yöntemiyle alınmaktadır. Secondary sunucusunda log backup hem copy only hem de normal bir şekilde alınmaktadır. Diff backup ise ne copy only nede normal bir diff backup şekilde alınmaz. Tabi bunlar AG altında bulunan veritabanları için geçerli bir özelliktir.

Primary sunucusu üzerinde LOG backup alma işlemi gerçekleşmez. Secondary sunucusunda ise copy only yönteminin belirtilmesi gerekmektedir.

EXECUTE [dbo].[DatabaseBackup]
@Databases='USER_DATABASES',
@Directory = N'C:\BACKUP',
@BackupType = 'LOG',
@Verify = 'Y',
@CleanupTime = 168,
@CleanupMode = 'AFTER_BACKUP',
@CheckSum = 'Y',
@Compress = 'Y',
@LogToTable = 'Y';

Yukarıdaki komutları çalıştırırken veritabanlarına erişim konusunda sıkıntı yaşarsak primary sunucusunda belirtilen bölümde secondary sunucusunda okuma işleminin aktif edilmesi gerekmektedir.

 Readable Secondary kısmını No olduğunu görmekteyiz. Bunu yes yapıp tekrar komutumuzu çalıştırdığımızda sorun giderilmiş olur.

Başka bir makalede görüşmek dileğiyle..

(Bunlar), “Rabbimiz, biz iman ettik. Bizim günahlarımızı bağışla. Bizi ateş azabından koru” diyenler,Sabredenler, doğru olanlar, huzurunda gönülden boyun büküp divan duranlar, Allah yolunda harcayanlar ve seherlerde (Allah’tan) bağışlanma dileyenlerdir.”Âl-i İmrân-16-17

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir