Bir veritabanını geri yüklemek için komut dosyalarında neden FILE = 1 kullanıyoruz


13

Son zamanlarda bir veritabanını geri yüklemek için komut dosyası ile karşılaştığımda, neden " DOSYA = 1 " kullanmak zorunda şüphe var ? Bu ifade olmadan bir veritabanını geri yükleyemeyiz !? Temel olarak, ne için kullanılır?

Yanıtlar:


22

Bir yedekleme dosyasına (yani aygıt) birden fazla yedek kaydetmenize izin verilir. Yan FILEtümce, .bakdosya içinden seçilebilecek birden çok dosya olduğunda belirli bir yedekleme işlemine erişmenizi sağlar .

RESTORE komutunun çeşitli seçenekleri hakkında daha fazla bilgi için lütfen RESTORE Bağımsız Değişkenleri için aşağıdaki MSDN belgelerine bakın .

Yedek Kümesi Seçenekleri bölümünün altına bakarsanız şunları bulacaksınız:

DOSYA = { backup_set_file_number | @ backup_set_file_number }

Geri yüklenecek yedekleme kümesini tanımlar. Örneğin, bir backup_set_file_number arasında 1 yedekleme ortamı ilk yedek grubu belirtir ve backup_set_file_number arasında 2 ikinci bir yedek kümesini göstermektedir. RESTORE HEADERONLY deyimini kullanarak bir yedekleme kümesinin backup_set_file_number değerini alabilirsiniz .

Belirtilmediğinde, BAŞLANGIÇI GERİ YÜKLE dışında varsayılan değer 1'dir, bu durumda ortam kümesindeki tüm yedekleme kümeleri işlenir. Daha fazla bilgi için, bu konuda daha sonra yer alan "Yedek Kümesi Belirtme" konusuna bakın.

Önemli
Bu DOSYA seçeneği bir veritabanı dosyası belirtmek için DOSYA seçeneğiyle ilgisi yoktur, FILE = { logical_file_name_in_backup | @ logical_file_name_in_backup_var }.

Evet, varsayılan FILE = 1olarak as olmadan geri yükleme yapabilmeniz gerekir 1. Ve bir yedekleme dosyasında yalnızca tek bir yedekleme kümeniz varsa, bu bir sorun oluşturmamalıdır.

FILESeçeneği ne zaman kullanacağınızı göstermeye yardımcı olacak bir örnek , RESTORE komutu MSDN sayfasından (yukarıda bağlantılı) örnek B'dir . Tek bir yedekleme dosyasından iki geri yükleme yapıldığını gösterir: ilki RESTOREFULL yedek, ikincisi RESTOREise DIFFerential yedeklemesidir.

RESTORE DATABASE AdventureWorks2012
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
   WITH FILE = 6
      NORECOVERY;
RESTORE DATABASE AdventureWorks2012
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
   WITH FILE = 9
      RECOVERY;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.