Нещодавно, коли я натрапив на сценарій відновлення бази даних, у мене виникли сумніви, чому нам доводиться використовувати " FILE = 1 "? Чи не можемо ми відновити базу даних без цього твердження? В основному, для чого він використовується?
Нещодавно, коли я натрапив на сценарій відновлення бази даних, у мене виникли сумніви, чому нам доводиться використовувати " FILE = 1 "? Чи не можемо ми відновити базу даних без цього твердження? В основному, для чого він використовується?
Відповіді:
Ви можете зберігати більше однієї резервної копії у файлі резервної копії (тобто пристрої). FILE
Пункт дозволяє отримати доступ до конкретної операції резервного копіювання при наявності кілька на вибір в .bak
файл.
Для отримання додаткової інформації про різні параметри команди RESTORE , будь ласка, дивіться наступну документацію MSDN для аргументів RESTORE .
Якщо ви заглянете в розділ Параметри набору резервних копій , ви знайдете:
FILE = { backup_set_file_number | @ backup_set_file_number }
Визначає набір резервних копій, який потрібно відновити. Наприклад, backup_set_file_number of 1 вказує перший набір резервних копій на носії резервного копіювання, а backup_set_file_number 2 складається із другого набору резервних копій. Ви можете отримати backup_set_file_number резервного набору за допомогою оператора RESTORE HEADERONLY.
Якщо не вказано, за замовчуванням дорівнює 1, за винятком RESTORE HEADERONLY, в цьому випадку всі набори резервного копіювання в наборі носія обробляються. Для отримання додаткової інформації див. "Вказівка набору резервних копій" пізніше в цій темі.
Важливо
Цей параметр FILE не пов’язаний із параметром FILE для визначення файлу бази даних, FILE = { logic_file_name_in_backup | @ logic_file_name_in_backup_var }.
Так, ви зможете відновити без того, FILE = 1
як 1
це за замовчуванням. І якщо у вас є колись один набір резервних копій у файлі резервної копії, це не повинно створювати проблем.
Приклад, який допоможе проілюструвати, коли ви будете використовувати FILE
параметр, є наступним, що є Прикладом B зі сторінки команди RESTORE MSDN (пов'язана вище). Він показує, що виконується два відновлення з одного файла резервного копіювання: перший RESTORE
- ПОВНА резервна копія, а другий RESTORE
- резервна копія DIFFerential.
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;