İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.




Kategori: MS SQL Server
Fırat Boyan 05.07.2016 0

SQL Server 2014'te Database Restore İşlemi

SQL Server'da Database Restore işlemi, sistemdeki veritabanlarının güvenliğini sağlamak ve veri kayıplarını en aza indirmek için kullanılan kritik bir süreçtir. Bir veritabanının yedekten geri yüklenmesi, veritabanı dosyalarının tam bir kopyasının eski bir zaman dilimine geri döndürülmesi anlamına gelir ve bu süreç yalnızca Full Backup, Differential Backup ve Transaction Log yedekleri ile gerçekleştirilebilir. Restore işlemi, yedekleme stratejilerinin en önemli parçalarından biridir ve iş sürekliliği açısından hayati önem taşır.

Database Restore işlemi, SQL Server'ın RESTORE komutları kullanılarak yapılır. Geri yükleme sürecinde dikkat edilmesi gereken çeşitli teknik ayrıntılar bulunur. Bunlar arasında, geri yüklemenin hangi yedek türünden yapılacağı, yedek dosyasının nereye yerleştirileceği, işlem sırasında veritabanının nasıl yönetileceği ve hangi veri türlerinin geri döndürüleceği gibi kararlar yer alır. SQL Server, geri yükleme işlemi sırasında çok sayıda parametre ile işlem yapılmasını sağlar ve her aşamada detaylı kontrol imkanı sunar.

Bir veritabanı geri yüklenirken RECOVERY ve NORECOVERY modlarının önemi büyüktür. RECOVERY modunda veritabanı, geri yükleme işlemi tamamlandığında tekrar çevrimiçi olur ve kullanıma açılır. Ancak, eğer ardışık yedekleme dosyaları birbiri ardına geri yüklenecekse (örneğin önce bir Full Backup, sonra bir Differential Backup ve en sonunda Transaction Log yedekleri), veritabanının NORECOVERY modunda bırakılması gerekir. NORECOVERY modu, veritabanının işlemlere kapalı kalmasını ve geri yükleme işlemlerinin bitmediğini gösterir. Son yedekleme dosyası geri yüklendiğinde ise, veritabanı RECOVERY moduna geçirilerek çevrimiçi hale getirilir.

SQL Server, geri yükleme işlemi sırasında veritabanı dosyalarının üzerine yazılacağına dair bir uyarı verir. Bu aşamada WITH REPLACE parametresi kullanılarak, mevcut veritabanı dosyalarının üzerine yazılmasına izin verilir. Ancak, bu işlem dikkatle yapılmalıdır; çünkü hatalı bir yedek dosyası geri yüklendiğinde mevcut veri kaybedilebilir. Ayrıca, geri yükleme işlemi sırasında Filegroup veya Partial Restore gibi gelişmiş özellikler kullanılabilir. Bu özellikler, sadece belirli bir veritabanı dosyasını veya bir Filegroup’u geri yüklemeye olanak tanır. Bu durumda WITH PARTIAL anahtarı ile yalnızca gereken dosyalar geri yüklenir ve veritabanının diğer bölümleri üzerinde herhangi bir işlem yapılmaz.

SQL Server’ın Differential Backup ve Transaction Log yedekleme türleri, veritabanı geri yüklemesini daha esnek hale getirir. Differential Backup, en son Full Backup’tan sonra yapılmış değişiklikleri içerirken, Transaction Log Backup ise veritabanındaki tüm işlem günlüklerini geri yükleyerek, verilerin belirli bir zamana kadar eksiksiz geri getirilmesini sağlar. Bu sayede, özellikle uzun süreli işlem gören veritabanlarında veri kayıplarını minimuma indirmek mümkündür. Transaction Log Restore işlemi sırasında STOPAT parametresi kullanılarak geri yüklemenin kesin olarak hangi zaman diliminde durdurulacağı belirlenebilir.

SQL Server’da bir veritabanı geri yüklenirken WITH STANDBY seçeneği de kullanılabilir. Bu seçenek, veritabanının sadece okunabilir durumda geri yüklenmesini sağlar ve bu sayede, bir sonraki Transaction Log geri yüklemesi yapılmadan önce veriler üzerinde analiz yapılabilir. WITH STANDBY seçeneği, genellikle Log Shipping veya sürekli geri yükleme işlemlerinde kullanılır ve WITH NORECOVERY moduna kıyasla daha esnek bir yapı sunar.

Veritabanı geri yükleme işlemleri, sadece yedekleme dosyalarının fiziksel olarak geri yüklenmesinden ibaret değildir. SQL Server, geri yükleme sürecini izlerken CHECKSUM ve VERIFYONLY gibi güvenlik parametreleri de kullanabilir. CHECKSUM yedek dosyasının veri bütünlüğünü kontrol ederken, VERIFYONLY komutu geri yükleme işlemi başlamadan önce yedek dosyasının okunabilir ve geri yüklenebilir olduğunu doğrular. Bu tür kontroller, yedek dosyasının zarar görüp görmediğini anlamak ve geri yükleme işlemi sırasında beklenmedik veri kayıplarını önlemek için kritik öneme sahiptir.

Silinmiş bir veri tabanı için Database FULL Backup Restore İşlemi

Bir veritabanının silinmesi durumunda, veri kaybını önlemek ve sistemin en kısa sürede eski haline getirilmesini sağlamak için Database FULL Backup Restore işlemi devreye girer. FULL Backup, bir veritabanının tam ve eksiksiz bir kopyasını alarak tüm verilerin ve veritabanı yapılandırmalarının güvenli bir şekilde saklanmasını sağlar. Silinmiş bir veritabanını geri getirmek için yapılacak olan FULL Backup Restore işlemi, veritabanını yedeğin alındığı zamandaki haline geri döndürür ve kaybolan verilerin kurtarılmasını mümkün kılar.

Bu işlem, SQL Server'da genellikle RESTORE DATABASE komutuyla gerçekleştirilir. FULL Backup, veritabanının tüm verilerini ve log dosyalarını içerdiğinden, silinmiş veritabanının geri yüklenmesi için ideal bir yöntemdir. Veritabanı silindiğinde veya zarar gördüğünde, eğer bir FULL Backup mevcutsa, bu yedek dosyası kullanılarak veritabanı sistemde yeniden oluşturulabilir. FULL Backup Restore işlemi, sadece tablo ve veri kayıtlarını değil, aynı zamanda indeksler, saklı yordamlar, tetikleyiciler gibi veritabanının tüm nesnelerini de geri yükler.

Restore işlemi sırasında SQL Server, mevcut bir veritabanı olup olmadığını kontrol eder ve eğer aynı isimde bir veritabanı varsa, bu veritabanının üzerine yazılmasını onaylamak için yöneticiden izin ister. Bu işlem sırasında WITH REPLACE gibi seçenekler kullanılarak, mevcut veritabanı dosyalarının üzerine yazılmasına izin verilir. Ayrıca, geri yüklenen veritabanının tam erişilebilir olup olmayacağına karar vermek için WITH RECOVERY veya WITH NORECOVERY gibi parametreler de kullanılır.

FULL Backup Restore işlemi, özellikle kritik sistemlerde düzenli olarak alınan yedeklerle güvence altına alınır. Yedeklerin düzenli olarak alınması ve saklanması, veri kayıplarının en aza indirgenmesini sağlar ve acil durumlarda veritabanının en hızlı şekilde geri getirilmesine imkan tanır.

Veri tabanı yedek geri döndürme işlemi, yani Database Restore işlemi için senaryom gereği daha önceden oluşturduğum DATABASE001 isimli veri tabanımı sildim. DATABASE001 ismili veri tabanımı restore etmek için Databases üzerinde sağ tıklayıp Resote Database... seçeneğini seçiyorum.

SQL Database Restore

Restore Database penceresi açılıyor. Bu ekranda Source bölümü altında Database seçili iken ilgili Datatabase'imi (veri tabanı) seçiyorum. Device seçeneğini seçiyor, yanındaki ... (Üç nokta) olan butona basıyorum. Bu buton bana, Select backup devices ekranını getiriyor.

Device seçeneği, SQL Server'da Restore Database işlemi sırasında veritabanının yedeğinin nereden yükleneceğini belirler. Device, genellikle yedek dosyasının bulunduğu fiziksel veya sanal bir depolama konumunu ifade eder. Bir yedekleme işlemi sırasında Database Backup dosyaları farklı yerlerde saklanabilir; bu, Disk sürücüleri, Network paylaşımı veya diğer harici cihazlar olabilir. Device seçeneği, bu yedeklerin SQL Server tarafından doğru kaynaktan geri yüklenmesi için kullanılır.

Device seçeneğini kullanırken, Select backup devices ekranı aracılığıyla yedekleme dosyasının konumu belirlenir. Bu ekran açıldığında, geri yüklenecek veritabanı yedeğinin nerede saklandığını belirtmek için doğru dosya yolunu veya cihazı seçmek mümkündür. Yerel bir Disk veya Network üzerinde paylaşılan bir sürücü gibi cihazlar, bu ekrandan seçilerek SQL Server’a yedek dosyasının bulunduğu yer bildirilir. Böylece, SQL Server yedek dosyasına ulaşarak geri yükleme işlemini gerçekleştirebilir.

Yedek dosyasının tipi genellikle bir .bak uzantılı dosya olup, SQL Server, Device aracılığıyla bu dosyayı bularak geri yükleme işlemini başlatır. Device, SQL Server’ın RESTORE işlemi sırasında yedek dosyasına erişmesini sağlayan önemli bir yapılandırma adımıdır. Bu seçenek, yedeğin birden fazla dosya veya lokasyona yayılmış olması durumunda özellikle önem kazanır, çünkü yedekleme dosyalarının doğru şekilde seçilmesi ve sıralı bir restore işlemi yapılabilmesi için gereklidir.

SQL Database Restore

Bu pencerede daha önceden oluşturmuş olduğmu Backup Device'ı seçeceğim. Bunun için Backup media type: alanından Backup Device seçeneğini seçip Add butonuna basıyorum ve daha önceden oluşturmuş olduğum FULL-DEVICE01 ismindeki Backup Device'ı seçip OK butonuna basıyorum.

SQL Database Restore

OK butonuna bastıktan sonra Destination bölümü altında Database alanında DATABASE001 isimli veri tabanımın, Restore to alanında ise veri tabanı yedeğimi (Database Backup) ne zaman ve hangi tarihte aldığım bilgileri geldi. Buna ek olarak, Backup sets to restore alanında veri tabanı yedeğim ile alakalı detaylı bilgiler yer almaktadır.

SQL Database Restore

OK butonuna bastıktan sonra veri tabanımın yedeğinden geri dönmüş oldum ve bunu da Database 'DATABASE001' restored successfully bilgisi ile görebiliyorum.

SQL Database Restore

Görüldüğü gibi DATABASE001 isimli veri tabanım başarılı bir şekilde Restore edildi ve Databases altına geldi.

SQL Database Restore

DATABASE001 isimli veri tabanımın içeriğini kontrol ettiğimde ise, verilerimin eksiksiz olarak geldiğini de görüyorum.

SQL Database Restore

Bu makalenin sonunda, SQL Server yedekleme ve geri yükleme süreçlerinin kritik önem taşıdığını net bir şekilde görebiliyoruz. Özellikle veri kaybı risklerinin minimize edilmesi, iş sürekliliğinin sağlanması ve veritabanlarının en güvenilir şekilde korunması açısından doğru yapılandırılmış bir yedekleme stratejisi büyük bir fark yaratır. Restore işlemi, sadece yedeklerin düzenli olarak alınmasını değil, aynı zamanda bu yedeklerin gerektiğinde doğru ve eksiksiz bir şekilde geri yüklenebilmesini de kapsar.

Veritabanı yöneticisi için yedekten geri yükleme işlemi sırasında doğru kararların verilmesi, kullanılacak yedek dosyalarının titizlikle seçilmesi ve gerekli durumlarda ek doğrulama işlemlerinin yapılması, veri bütünlüğünün korunmasında büyük rol oynar. Ayrıca, geri yükleme sürecinin esnekliği ve SQL Server’ın sunduğu çeşitli seçeneklerle yedekleme işlemlerinin hangi koşullarda ne şekilde gerçekleştirileceği net olarak belirlenebilir. Herhangi bir sorun yaşanmaması adına önceden yapılandırılan yedekleme cihazlarının kullanılması, işlemin güvenli ve hızlı bir şekilde sonuçlanmasına katkı sağlar.

Bu noktada, restore işlemlerinin planlanması ve uygulanmasının, sistemin genel işleyişine etkisi de göz önünde bulundurulmalıdır. Veri geri yükleme sürecinde dikkatlice yapılan planlama, iş sürekliliği ve minimum veri kaybı sağlayarak sistem performansını korumanın anahtarıdır. Sonuç olarak, veritabanı yönetimi sürecinde yedekleme ve geri yükleme işlemlerinin derinlemesine anlaşılması ve etkin bir şekilde uygulanması, herhangi bir kesinti veya veri kaybı durumunda sistemin hızlıca toparlanabilmesini mümkün kılar.

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim.

2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde onlarca farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin önde gelen entegratör firmalarından olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum.

Ek olarak, 2015 yılında Network Akademi bünyesinde Microsoft Certified Trainer (MCT) ünvanı ile Sistem ve Network Uzmanlık eğitimleri vermeye başladım. Sistem ve Network Uzmanlığı alanındaki eğitmenlik serüvenime Network Akademi bünyesinde devam etmekteyim.

YORUMLAR
Bu makaleye henüz yorum yapılmadı! İlk yorum yapan sen ol.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.


750 karakter yazabilirsiniz.
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.