Bu yazımızda SQL Server Management Studio ile veritabanı yedekleme ve geri yükleme, yani backup ve restore işlemlerini ele alacağız.
Yedekleme işlemi olası felaket senaryolarından birinin parçası olarak önemli bir adımdır. Verilerin bozulması, bütünlüğüne zarar gelmesi durumunda ciddi iş kesintileri hatta maddi hasarlar yaşayabilirsiniz. Dolayısıyla belli bir düzende yedek alınması önemlidir. Aldığınız yedeklerin bulunduğu medyanın da sağlıklı bir şekilde saklanıyor olması da elbette çok önemli…
Yedek Alma (Backup) İşlemi
Sql Server üzerinde 3 farklı backup çeşiti bulunmaktadır.
- Full Backup: Yedeklenme anında veritabanında bulunan herşeyin yedeklenmesi anlamına gelir. Böyle bir yedek dosyası ile yedeğin alındığı tarihteki bütün içeriğe rahatlıkla tekrar erişebiliriz. Veri miktarı yüksekse ilerleyen zamanlarda bu tür bir yedekleme seçeneği gitgide zorlaşacaktır. Yine de belirlenen periyotlarda güvenlik amaçlı Full Backup’ lar almak faydalı olabilir.
- Differential Backup: Çok fazla verinin bulunduğu büyük veritabanlarını sürekli full backup ile yedeklemek, hem uzun işlem süresi hem de gitgide büyüyen disk alanı kullanımlarına neden olur. Differantial seçeneği ile sadece bir önceki tarihte alınmış yedeğe göre değişen kısımların yedeğinin alınması sağlanır. Verimli bir yöntemdir.
- Transaction Log Backup: Transaction, ilgili veritabanında yapılan her işlemin bilgilerinin tutulduğu log dosyasıdır. Yedekleme sadece bu kayıtları kapsar. Veri içermez, sadece log dosyasını saklar.
Yedek alma işlemi örneğimiz için Northwind veritabanını kullanacağız;
Veritabanı üzerine sağ tıklayarak TASKS menüsünden BACKUP seçeneğini seçiyoruz.
Böylece yedek alma işlemiyle ilgili ayarların yapıldığı pencere açılmış olacak. Burada Gerenal sayfası altındaki Source ve Destination başlıklarını göreceksiniz.
Bu ekranda yedeği alınacak veritabanını, backup türünü ve kaydın yapılacağı medya ya da adresi seçiyoruz. Add butonu ile yeni bir adres ekleyebilirsiniz. Benim cihazımda ayrı bir yedekleme cihaz ya da sistemi kurulu olmadığı için sadece sabit diskime ait fiziksel adres görebiliyorum.
Ayarlar tamamlandıktan sonra OK tuşuna bastığınızda başka herhangi bir sorun yoksa aşağıdaki tamamlandı mesajını almanız gerekiyor.
Yedekten Geri Yükleme (Restore) İşlemi
Aldığımız yedekle oluşan .bak uzantılı dosyanın ihtiyaç halinde geri yüklenmesi yani restore edilmesi için veritabanı üzerine sağ tıklayıp TASKS menüsü altında RESTORE ve onun altında DATABASE yolunu izleyerek Restore menüsünü açıyoruz.
Açılan pencerede Restore işlemiyle ilgili ayarları göreceksiniz. İlk ekran Source, Destination ve Restore Plan başlıklarıyla 3 bölüme ayrılmış durumdadır.
Source kısmında Database alanı ile aldığınız yedeği seçebilirsiniz. Ya da Device seçeneği ile bağlı medyayı ya da path’ i belirterek yedek dosyanızda ulaşırsınız.
Destination kısmında ise yedeği yükleyeceğimiz veritabanını seçiyoruz.
Restore Plan kısmında aldığımız yedeklerin listesi ve bilgileri görünecektir. Eğer birden çok yedeğiniz varsa hangi yedeği yüklemek istediğinizi seçmenizin ardından. OK tuşuna bastığınızda veritabanı geri yükleme işlemi başlayacaktır.
SQL Server Backup ve Restore işlemlerinin en temel hali bu yazıda anlatıldığı gibidir. Detaylar, kavramlar ve ileri seviye adımlar için Microsoft tarafındaki makaleyi inceleyebilirsiniz.