SQL Server 2008 R2 Backup Restore

tarafından 19 Ocak 2011 tarihinde Microsoft kategorisine yazıldı.

SQL Server 2008 R2 diğer Microsoft sunucu ve kullanıcı işletim sistemlerinde olduğu gibi, yedek alınıp geri dönüş yapılabilme imkanı sağlıyor. SQL Server 2008 R2 ‘deki backup ve restore farkı database üzerindeki bilgilerin yedeğinin alınıp geri yüklenebilmesidir. İşletim sistemlerinin yedeklerinin alınması kadar veritabanlarının yedeklerinin alınıp doğru yerde muhafaza edilmesi de büyük önem taşımaktadır. Olası meydana gelecek sorunlarda veritabanı hasar görmesi yada kayıp edilmesi durumlarında alınan yedekten geri dönüş yapılabilmektedir. Sistem yönetiminin görevlerinden birisi olan mevcut sistemlerin işleyişinin güvenirliliğinin sağlanması,backup ve restore işlemlerinin doğru bir şekilde yerine getirilmesiyle olmaktadır.
SQL Server 2008 R2 üzerinde nasıl yedek alınır kısmına geçmeden önce eğer yedeğin alınacağı lokasyonla ilgili bir sıkıntı söz konusu ise yedeğin sıkıştırılabilmesi için, SQL Server üzerinde Properties seçilerek Database Settings ayarlarına gelerek Compress Backup sekmesi seçilmelidir. Bu verilerin sıkıştırılmasında dolayısı ile yerden tasarruf sağlanmasında yardımcı olacaktır. Seçimi isteğe bağlıdır.
image001
Alınacak yedeğin sıkıştırılmış dosya biçiminde oluşturulacağının belirlenmesinin ardından yedek alma işlemlerine geçelim.
Kullanılmakta olan SQL Server 2008 R2 veritabanının yedeğini alabilmek için Microsoft SQL Server Management Studio açılır ve oluşturulan veritabanı üzerinde Tasks sekmesinden Back Up seçilir.
image002
Yedeği alınacak olan veritabanının ayarlarını yapmak için karşımıza gelen arayüzde bazı bilgilerin verilmesi gerekmektedir. Yedeği alınacak veritabanının ismini Database sekmesinde görebilmekteyiz, bu veritabanının yedeği varsayılan ayarlarda Full Backup olarak gelmektedir. Tercih edilen backupta full backup olmalıdır, zira differential backup alınması ve geri dönülmesi durumunda bütün datalara değil sadece değişen farklara geri dönülmüş ve erişim sağlanmış olacaktır.
Backup bileşenlerinde ise veritabanının mı yoksa dosya ya da bir dosya grubunun mu yedeğinin alınacağı seçilebilir. Burada veritabanının yedeği seçili olarak gösteriyorum.
Backup set sekmesinde ise isim verilerek eğer birden fazla backup alınacaksa karışıklık olmaması için isim ve açıklama girilmelidir.
Alınan yedeğin belirlenen zaman sonrasında süresinin dolması için Backup set will expire sekmesinden gün tayin edilerek hangi tarihte sona ermesi planlanabilmektedir. Bu tercih etmeyeceğim bir ayarlamadır. Çünkü ileri zamanlarda her ne kadar başka yedeklerde almış olsam, önceki yedeklere değiştirilme söz konusu olduğunda dönmem gerekebileceğini göz önünde bulunduruyorum.
Destination sekmesinden yedeğin alınacağı yolu belirleyebilir. Varsayılanda SQL hangi sürücüye kurulmuş ise ordaki Program Files altına Backup klasörü oluşturarak yedeği alacaktır. Ancak ben D sürücüsüne kurulum yaptığım için SQLDATA isimli klasör altına MSSQL isim uzantısı ile başka bir klasör oluşturarak yedek dosyalarını buraya alacağını varsayılanda gösterir. Burada yedek alınacak klasör yolu isteğe bağlı olarak değişiklik yapmak mümkündür.
image003
Remove butonu kullanılarak mevcut yedekleme yolu kaldırılmasını öneririm. Farklı bir sürücüye hatta farklı bir makina üzerine yedeklerin alınması ve muhafaza edilmesi daha güvenilir olacaktır. Zira aynı disk üzerine alınan yedekler hem sunucunun performansını olumsuz yönde etkileyecektir hem de sunucuda meydana gelecek sistem arızalarında yedeğe ulaşım zorlaşacak hatta imkânsız hal alabilecektir. Bu gibi istenmeyen durumlarla karşılaşmamak için farklı bir sürücüde oluşturulacak Backup klasörü işimizi görecektir. Bunun için Add butonunu kullanarak D sürücüsünün altında SQLBACKUP klasörünü oluşturarak gösteriyorum.
image004
SQLBACKUP klasörünün gösterilmesinin ardından dosyaya isim verilir. Dosya isim uzantısı .bak olacak şekilde düzenlemesi yapılır ve ok seçilerek onaylanır.
image005
Eğer networkte bulunan farklı bir makineye yedek alıcaksa, TCP/IP ayarlarının kontrol edilmesinde fayda vardır. Varsayılanda disable konumda gelmesi sebebi ile networkteki cihazlar görülemeyecektir. Bunun için TCP/IP ayarları enable yapılmalıdır.
D sürücüsünün altında oluşturulan SQLBACKUP klasörünün altındaki sqlfull. bak dosyasının artık yedeklerin alınacağı lokasyon olduğunu görebilmekteyiz.
General sekmesinden Options sekmesine geçildiği zaman; yedeğin alınması için verinin var olan bir yedekleme lokasyonuna eklenmesi yada üzerine yazılması belirlenebilmektedir. Bunun için eğer sadece eklenmesi isteniyorsa ilk seçenek yani “Appened to the existing backup set” seçilirken, var olan verinin üzerine yazılması tercih ediliyor ise ikinci seçenekteki “Overwrite all existing backup sets” seçilmelidir. Bu yedeğin değiştirilmesi ya da yerden tasarruf sağlanması amaçlanan durumlarda tercih edilir.
Reliability sekmesinde ise alınacak yedeğin kontrolu sağlanması için seçenekler mevcuttur. İsteğe bağlı olarak seçme işlemi tercih edilebilir.
image006
Yedek alma işlemine başlamadan önce eğer istenirse Script sekmesi seçilerek SQL komut satırı ile yedekleme işlemi görüntülenmesi sağlanabilir.
Yedekleme ayarlarının yapılmasının tamamlanmasının ardından artık OK butonuna basılarak yedeğimizin alınmasına başlanmalıdır. Yedeğin alınacağı klasöre belirlemiş olduğumuz ayarlamalar ile yedeğin alındığını görebilmekteyiz.
image007
Yedeğin belirlenen lokasyona belirlenen ayarlar ile doğru bir şekilde alınmasının kontrolü için D sürücüsünün altında oluşturduğum SQLBACKUP  klasörünün içindeki sqlfull.bak dosyasını görüntülüyorum.
image008
Sıra olası felaket anlarında önceden alınmış olan yedeğe nasıl geri dönülmesi gerektiğine geldi sıra.
Database silinmiş yada hasar görmüş olabilir bu gibi durumlarla karşı karşıya kalınması halinde alınan backuptan nasıl kolayca geri yükleme yapılacağını görelim.
SQL Server 2008 R2 altında Databases üzerinde Restore Database seçmek geri dönüş işlemini başlatmayı sağlar.
image009
Yedeği alınan veritabanının yerini göstermek için From device sekmesi kullanılarak sqlfull.bak dosyası gösterilir. Lokasyon kısmına eklenir.
image010
Seçilen yedeğin ardından eğer SQL Server ‘da birden fazla database mevcut ise geri yükleme yapılacak olan database seçilmelidir.
image011
General sekmesinde yapılan ayarlardan sonra Options kısmına geçtiğimizde, geri dönüş işlemi mevcut database üzerine yapılacaksa ilk sekmede bulunan Overwrite the existing database seçilmelidir.
Recovery state sekmesinde ilk seçenek seçilerek kullanıma hazır hale getirerek OK butonu ile seçilen lokasyondan geri yükleme işlemi gerçekleştirilir.
image012
Bu makalede SQL Server 2008 R2 kullanılan sistemlerde; backup ve restore ayarlarının yapılması ve alınması, sıkıştırılmış backup özelliğinin kullanılmasını uygulamalı olarak anlatmaya çalıştım.
Yedek alımında kullanılan ayarların ve muhafaza edilecek lokasyonların büyük önem taşıdığı her zaman göz önünde bulundurulmalıdır ve bu doğrultuda hareket edilmelidir.

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur.Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2015, VCP5, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.