SQL SERVER VERİTABANINI EKLEME-ÇIKARMA ve YEDEKLEME-GERİ YÜKLEME DETACH-ATTACH Bir veritabanını sıkıştırmadan MS SQL veri tabanı sunucusundan çıkarabilirsiniz. Örneğin geçici bir yerde çalışıyorsanız ve işiniz bitince veritabanınızı yanına almanız gerekiyorsa ve veritabanın çok büyük değilse çıkarma ve takma yöntemi ile bu işlemleri yapabilirsiniz. Veri Tabanını Çıkarma (DETACH) Veri tabanımızı MS SQL sunucusunda oluşturduk ve birtakım tablo ve veri eklemeleri yaptıktan sonra veri tabanımızı MS SQL sunucusundan ayırmak yani çıkarmak istiyoruz bunun için veri tabanı üzerinde sağ tıklanır ve Tasks-> Detach tıklanır. Açılan pencereden “Drop Connections” bağlantıları sil seçeneğinin mutlaka seçili olması gerekmektedir. Daha sonra OK butonu tıklanır böylece bu veritabanı sunucudan koparılmış olur. 1 Veri tabanını kopardıktan sonra “C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA” veya hangi dizinde kurulu ise o dizin altındaki veri tabanı dosyaları örneğin “KARARDESTEK.mdf” ve “KARARDESTEK_log.ldf” dosyalarını taşınabilir disk ile yanınıza alıp taşıtabilirsiniz. Bu iki dosyayı birbirinden ayırmamanız gerekmektedir. Veri Tabanını Ekleme (ATTACH) Taşınabilir disk veya faklı ortamlarda MS SQL Server veritabanı sunucusun olduğu ortama getirilen *.MDF ve *. LDF dosyalarını veritabanı sunucusuna ekleyebilirsiniz. Bunun için çalışılan versiyonların aynı olması gerekmektedir. Veri tabanı sunucusu penceresinden “Databases” üzerine sağ tıklanır ve buradan Attach… tıklanır. 2 Açılan pencereden Add butonu tıklanır. Buradan sürücümüze taşıdığımız *.MDF ve *MDF dosyalarını seçeriz . 3 OK Butonu tıklanır ve böylece veritabanı sunucuya eklenmiş olur. 4 YEDEKLEME-GERİ YÜKLEME MS SQL Server 2008 R2 verita banı ekleme ve çıkarma işleminin yanında sıkıştırılmış yedek alma (BACKUP) ve geri yükleme (RESTORE) imkanı sağlamaktadır. İşletim sistemlerinin ve dosyaların yedeklerinin alınması kadar veri tabanların yedeklenmesi ve saklanması çok önemlidir. Veri tabanında meydana gelebilecek herhangi bir bozulmadan dolayı kolayca geri yükleme yapılabilmelidir. Veri tabanı yöneticisinin en önemli görevlerinden biriside veri tabanının periyodik olarak yedeklenmesini sağlamasıdır. Sıkıştırılarak veritabanı yedeği alınmadan önce sıkıştırma ayarlamalarının yapılması gerekmektedir. Bu ayarlamaları yapmak için veritabanı sunucusu üzerine sağ tıklanır ve buradan Properties tıklanır. Buradan Database Settings ve Compress Backup kutucuğu işaretlenir. Böylece veritabanımız yedeklenirken sıkıştırılacak. 5 Yedek Alma İşlemi (BACKUP) Sıkıştırılarak yedeği alınacak veri tabanı üzerinde sağ tıklanır Tasks -> Back Up… tıklanır. Karşımıza gelen penceresinden yedekleme ayarları yapılabilir. Bunlardan yedekleme tipi Backup Type tam (Full) ve farklar (Differantial) olabilir. Full yedekleme veritabanının tamamını Differantial ise sadece değişiklikleri yedekler. Bu yüzden özel durumlar hariç genellikle Full backup tercih edilir. Differantail yedeklemede, geri dönülmesi durumunda tüm verilere değilde sadece değişen verilere ulaşılmış olunur buda sıkıntı verebilir. Backup Component bir veritabanının mı yoksa dosya ya da bir dosya gruplarının mı yedekleneceği seçilir. Burada varsayılan olarak veritabanı (Database) seçilidir. Backup Set kısmında ise veritabanına bir isim ve açıklama girilecek alanlar vardır. Bu alanlara uyumlu isim ve açıklamaları yazabilirsiniz. Backup set will expire: alınan yedeğin sona ereceği tarih seçilebilir. Böylece sonraki yedekler ile karışmamış olur ancak sürekli olarak veritabanı üzerinde çalışmıyorsanız bu çokta tercih edilecek bir şey değildir. Çünkü sonraki zamanlarda farklı yedekler alınmış olsa da önceki yedekler ile değiştirilebileceğinden bu seçeneği kullanmak doğru olmayabilir. Destination sekmesi yedeğin kaydedilecek hedefi tanımlamada kullanılır. Bu hedef varsayılan olarak MS SQL’in hangi sürücüye kurulu ise oradaki Program Files altına Backup klasörü oluşturarak yedeği alır. Ancak bunu değiştirme ihtiyacı hissedebilirsiniz. Bunun için: 6 Remove diyerek varsayılan hedefi kaldırılır ve Add… diyerek yeni bir hedef yol belirlenir. Add tıklandıktan sonra aşağıdaki pencere açılır buradan üç nokta (…) butonu tıklanır ve açılan pençeden yedeğin kaydedileceği dosya seçilir. 7 Açılan dosyadan yedeğin kaydedileceği klasör ve yedeğin adı File Name kutucuğuna yazılır örneğin: “KARARDESTEK.bak” ve OK tıklanır. 8 Geri Yükleme İşlemi (RESTORE) Geri yükleme işlemi için öncelikli olarak *.bak uzantılı bir veritabanı yedek dosyasının olması gerekmektedir. Geri yüklemesi yapılacak olan yedeğin veri tabanı MS SQL Sunucusunda yok ise aynı isimde bir veri tabanı oluşturuyoruz veya zaten var ise üzerine seçtiğimiz bir yedeği geri yüklüyoruz. Bunun için geri yüklemesini yapacak olduğumuz veri tabanının olması gerekmektedir. Geri yüklenecek veritabanının üzerine sağ tıklanır buradan Tasks->Restore->Database… seçilir. “To Database” seçtiğimiz veri tabanı olmalıdır. Geri yükleme kaynağı (Source of Restore) “From Device” olmalıdır. Üç nokta (…) butonu tıklanır. 9 Buradan Add butonuna tıklayarak yedeğin bulunduğu klasör ve dosya seçilir. 10 Seçilen yedek geri yükleme penceresine gelir buradan Restore kurucuğu işaretlenir. Daha sonra aynı pencerede “Options” sekmesi seçilir ve buradan “Overwrite the existing database” yani varolan veri tabanının üzerine yaz seçilir. Böylece seçilen yedek ana veritabanının üzerine yazılır. OK. Butonuna bastığınızda geri yükleme işlemi başlar ve aşağıdaki sonuç mesajını verir. 11