Пример. Поэтапное восстановление базы данных (полная модель восстановления)
При поэтапной последовательности восстановления база данных восстанавливается в течение нескольких этапов на уровне файловой группы, начиная с первичной и всех вторичных файловых групп, доступных для чтения и записи.
В данном примере база данных adb
восстанавливается после сбоя на новом компьютере. Используется полная модель восстановления базы данных, поэтому перед началом восстановления необходимо сделать резервную копию заключительного фрагмента журнала базы данных. До сбоя все файловые группы использовались в оперативном режиме. Файловая группа B
доступна только для чтения. Необходимо восстановить все вторичные файловые группы, но они восстанавливаются в порядке важности: A
(наивысшая), C
и B
. В этом примере существует четыре резервные копии журнала, включая резервную копию заключительного фрагмента журнала.
Резервная копия заключительного фрагмента журнала
Перед тем как восстановить базу данных из копии, администратор этой базы данных должен создать резервную копию заключительного фрагмента журнала. Поскольку база данных повреждена, для создания резервной копии заключительного фрагмента журнала необходимо использовать параметр NO_TRUNCATE:
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
Резервная копия заключительного фрагмента журнала — это последняя резервная копия, применяемая в следующих последовательностях восстановления.
Последовательности восстановления
Частичное восстановление первичной и вторичной файловой группы
A
:RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM backup4 WITH NORECOVERY RESTORE LOG adb FROM backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
Оперативное восстановление файловой группы
C
.
На этом этапе первичная файловая группа и вторичная файловая группаA
находятся в оперативном режиме. Все файлы в файловых группахB
иC
ожидают восстановления, а сами файловые группы находятся в автономном режиме.
Сообщения от последней инструкцииRESTORE LOG
в шаге 1 указывают, что откат транзакций, задействовавших файловую группуC
, был отложен из-за недоступности этой файловой группы. Нормальная работа может продолжаться, но этими транзакциями удерживаются блокировки, поэтому до завершения отката усечение журнала выполнено не будет.
Во второй последовательности восстановления администратор базы данных восстанавливает файловую группуC
:RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM backup4 WITH NORECOVERY RESTORE LOG adb FROM backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
На этом этапе первичная файловая группа и файловые группы
A
иC
находятся в оперативном режиме. Файлы в файловой группеB
ожидают восстановления, при этом она находится в автономном режиме. Отложенные транзакции разрешены, и выполняется усечение журнала.Оперативное восстановление файловой группы
B
.
В третьей последовательности восстановления администратор базы данных восстанавливает файловую группуB
. После того как файловая группаB
становится доступной только чтения, чтобы не нужно было осуществлять накат во время восстановления, используется ее резервная копия.RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
Теперь все файловые группы находятся в оперативном режиме.
См. также
Основные понятия
Пример: поэтапное восстановление базы данных (простая модель восстановления)
Применение резервных копий журнала транзакций
Выполнение поэтапных восстановлений
Другие ресурсы
BACKUP (Transact-SQL)
Примеры последовательностей восстановления для нескольких сценариев восстановления
RESTORE (Transact-SQL)