Baru-baru ini ketika saya menemukan skrip untuk memulihkan database, saya ragu mengapa kita harus menggunakan " FILE = 1 "? Tidak bisakah kita mengembalikan database tanpa pernyataan itu !? Pada dasarnya, untuk apa itu digunakan?
sumber
Baru-baru ini ketika saya menemukan skrip untuk memulihkan database, saya ragu mengapa kita harus menggunakan " FILE = 1 "? Tidak bisakah kita mengembalikan database tanpa pernyataan itu !? Pada dasarnya, untuk apa itu digunakan?
Anda diizinkan untuk menyimpan lebih dari satu cadangan dalam file cadangan (yaitu perangkat). The FILE
klausul memungkinkan Anda mengakses operasi backup tertentu ketika ada beberapa untuk memilih dari dalam .bak
berkas.
Untuk informasi lebih lanjut tentang berbagai opsi perintah RESTORE , silakan lihat dokumentasi MSDN berikut untuk Argumen RESTORE .
Jika Anda melihat di bagian Opsi Pengaturan Cadangan , Anda akan menemukan:
FILE = { backup_set_file_number | @ backup_set_file_number }
Mengidentifikasi set cadangan yang akan dipulihkan. Misalnya, cadangan_set_file_number dari 1 menunjukkan cadangan pertama yang ditetapkan pada media cadangan dan cadangan_set_file_number dari 2 menunjukkan cadangan kedua. Anda dapat memperoleh backup_set_file_number dari set cadangan dengan menggunakan pernyataan RESTORE HEADERONLY.
Ketika tidak ditentukan, standarnya adalah 1, kecuali untuk RESTORE HEADERONLY dalam hal ini semua set cadangan dalam set media diproses. Untuk informasi lebih lanjut, lihat "Menentukan Set Cadangan," nanti dalam topik ini.
Penting
Opsi FILE ini tidak terkait dengan opsi FILE untuk menentukan file database, FILE = { logical_file_name_in_backup | @ logical_file_name_in_backup_var }.
Ya, Anda harus dapat memulihkan tanpa apa adanya FILE = 1
sebagai 1
standarnya. Dan jika Anda hanya memiliki satu set cadangan dalam file cadangan, maka itu seharusnya tidak menimbulkan masalah.
Contoh untuk membantu mengilustrasikan kapan Anda akan menggunakan FILE
opsi adalah yang berikut, yang merupakan Contoh B dari halaman RESTORE perintah MSDN (ditautkan di atas). Ini menunjukkan melakukan dua pemulihan dari satu file cadangan: yang pertama RESTORE
adalah cadangan LENGKAP, dan yang kedua RESTORE
adalah cadangan DIFFERENSI.
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;