Makale Özeti

Microsoft SQL Server Kurumsal firmalar ve Kobiler tarafında destek ve yaygınlık anlamında en çok tercih Database Server’ı olarak dikkat çekmektedir. İşlem hacmi yüksek olan bir firmanın yedeklenmemiş günlük dataları çok önemlidir. Buradan yola çıkarak Haftalık ve Günlük bacup’ı alınan bir sistemde mesai saati süresi içerisinde işlemleri yapılan ürünlerin dataları yedeklenme fırsatı bulunmadığından dolayı önemlidir. Günün son anlarında veya yoğun bir işlem trafiğinden sonra yaşanabilecek bir problem ile 1’gün öncesinin datalarına dönerek bu sorun çözülebilir. Ama gün içerisinde girişi yapılmış olan veriler kaybolacaktır. Oysa Transaction Log kullanarak 10 dakika öncesine dönebiliriz.

Makale

Microsoft SQL Server Kurumsal firmalar ve Kobiler tarafında destek ve yaygınlık anlamında en çok tercih Database Server’ı olarak dikkat çekmektedir. İşlem hacmi yüksek olan bir firmanın yedeklenmemiş günlük dataları çok önemlidir. Buradan yola çıkarak Haftalık ve Günlük bacup’ı alınan bir sistemde mesai saati süresi içerisinde işlemleri yapılan ürünlerin dataları yedeklenme fırsatı bulunmadığından dolayı önemlidir. Günün son anlarında veya yoğun bir işlem trafiğinden sonra yaşanabilecek bir problem ile 1’gün öncesinin datalarına dönerek bu sorun çözülebilir. Ama gün içerisinde girişi yapılmış olan veriler kaybolacaktır. Oysa Transaction Log kullanarak 10 dakika öncesine dönebiliriz. Bu noktada bir çok firma için gereksiz yere yer kapladığı dolayısı ile tutulmayan hatta silinirken bile backup almadan direkt olarak delete edilen transaction logların ciddi bir önemi olduğu ortaya çıkıyor. Bu geri dönme işlemini sağlayabilmek için ihtiyacımız olan 2 unsur vardır bunlar.
   1. Sağlamlığından emin olduğumuz bir Full Database backup’ı
   2. Ortalama sorunu yaşadığımız zamanı bilmemiz.

Bu verilerin elimizde olması sorunu yaşadığımız yaklaşık zaman dönmemiz için yeterlidir.

Transaction Log Bacup işlemi esnasında yapmamız gerekenler.
1. Sıkıntıyı fark ettiğimiz zaman var olan database’in Transaction Log backup’ını alalım.

Database üzerinde sağ tıklayarak All Tasks’tan Backup Database seçilir.

Burada dikkat etmemiz gereken 3 unsur var.
   1. Backup file’a vereceğimiz isim. Hem aklımızda kalacak. Hem de yaptığımız işlemin tarihini belirten bir    description girelim.
   2. Backup seçeneğinden Transaction Log’u seçeceğiz.
   3. Destination bölümünde hangi device’ı ( Type device olmayan sistem içerisinde yeterli yere sahip olunan herhangi bir dizin içerisine. Backup.bkf olarak kayıt edebiliriz.) kullanacağımızı seçeceğiz.
   4. Ok belirttiğimiz klasöre yedekleme işlemini başlatmış olacağız. Herhangi bir sorun çıkmaz ise aşağıdaki mesajı verecektir.

Transaction Log Restore işlemi yapılmadan önce full backup’tan restore işlemi
  1. En son sağlam olarak alınmış olan Full Database Backup’ı
  2. Sağlam silinmemiş ve en son alınan full backup’tan sonra backuplanmış Transaction Log backup
  3. Yaklaşık olan dönmek istediğimiz zaman dilimi
   1. Full olaran alınmış olan son backuptan restore işlemi.

Restore işlemini yapacağımız Database üzerine gelip sağ tık yaparak All Tasks’tan Restore Database’i seçeceğiz.

Restore işlemini yapacağımız Database’e yukarıda belirtildiği şekilde en son backup alınan ( Full data Backup + Transaction log ) seçilerek en son sistemimizin sağlam çalışır halde olduğu ana ( 1 gün öncesine dönerceğiz ) döneceğiz.

Database Restore işlemini sorunsuz bir şekilde bitirdiğimiz zaman yukarıdaki “Restore of database “T Log” completed successfully.” mesajı geldikten sonra backuptan restore işlemi başarılı bir şekilde sonuçlanmıştır.

Transaction Logların Restore edilmesi.
En son full backup’tan geri almış olduğumuz sağlam dataların üzerinde transaction logların restore edilme işlemi için hangi zaman dilimindeki işlemlere kadar gitmek istediğimizi belirlemimiz gerekiyor. Bu zamanı belirledikten sonra Database üzerine sağ tık yaparak Restore Database diyeceğiz.

Açılacak olan Restore Database ekrandan restore edeceğimiz. Transaction log’u seçelim.

Yükleyeceğimiz. Log dosyasını seçtikten sonra point in time “ dönülecek zaman “ seçerek açılacak olan ekrandan tahmini geçiş yapacağımız zaman dilimine ait ayarları gireceğiz.

Yükleme işlemi sonrasında aşağıdaki hatayı verir ise dil ayarlarınızdan bölgesel dil ayarlardan “ regional and language options ” dil ayarlarınız “English United States “ seçerek tekrar deneyiniz. Bu problem bölgesel ( mm.dd.yy ) ayarlarındaki çakışmadan kaynaklanan bir sorun olduğu için bug sayabiliriz. Ve işlemi gerçekleştirebilmek için Amerika bölgesel dil ayarlarına göre sistemimizi ayarlamamız gerekecek.

 
Dil ayarlarımızı değiştirdikten sonra “ transaction logun restore edilmesi “ adımlarını tekrar uygulayacağız. Bu işlemlerin sonucunda aşağıdaki resimdeki gibi “Restore of database “T Log” completed successfully” uyarısını aldığımız zaman. Problemin yaşandığı zaman diliminin hemen öncesine dönmüş olacağız.


Ramazan Tanhan
ramazan.tanhan@bilgeadam.com