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?
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:
Bir yedekleme dosyasına (yani aygıt) birden fazla yedek kaydetmenize izin verilir. Yan FILE
tümce, .bak
dosya 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 = 1
olarak 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.
FILE
Seç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 RESTORE
FULL yedek, ikincisi RESTORE
ise 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;