Поделиться через


Файлы из резервных копий (модель полного восстановления)

Сведения этого раздела относятся только к тем базам данных, которые содержат несколько файловых групп в модели полного восстановления или модели восстановления с неполным протоколированием.

Цель восстановления файлов — восстановить один или несколько поврежденных файлов, не восстанавливая всю базу данных. Сценарий восстановления файлов состоит из одной последовательности восстановления, которая копирует данные, выполняет накат и восстанавливает соответствующие данные.

Если восстанавливаемая файловая группа предназначена для чтения и записи, то после восстановления последних данных или разностной резервной копии необходимо применение резервных копий журналов. При этом производится накат файловой группы до текущих активных записей журнальных файлов. Точка восстановления обычно рядом с концом журнала, но это не обязательно.

Если файловая группа доступна только для чтения, применение резервных копий журналов не нужно, и поэтому оно будет пропущено. Если резервирование проводилось после того, как файл был переведен в режим только для чтения, то эта копия является последней для восстановления. Накат вперед заканчивается в целевой момент.

Существуют следующие сценарии восстановления файлов.

  • Восстановление файлов в режиме «вне сети»

    При автономном восстановлении файлов база данных находится в режиме «вне сети», в то время как происходит восстановление поврежденных файлов или файловых групп. В конце последовательности восстановления база данных переходит в режим «в сети».

    Автономное восстановление файлов поддерживают все выпуски SQL Server 2012.

  • Восстановление файлов в сети

    При оперативном восстановлении файлов, если база данных во время восстановления находится в режиме «в сети», то остается в этом режиме в течение времени восстановления файлов. Однако каждая файловая группа, в которой восстанавливается файл, во время операции восстановления находится в состоянии «вне сети». После восстановления всех файлов, входящих в файловую группу в режиме «вне сети», она автоматически переключается в режим «в сети».

    Сведения о поддержке оперативного восстановления страниц и файлов см. в разделе Возможности, поддерживаемые различными выпусками SQL Server 2012. Дополнительные сведения об оперативном восстановлении см. в разделе Восстановление в сети (SQL Server).

    СоветСовет

    Если желательно, чтобы база данных находилась в режиме «вне сети» при восстановлении файлов, переведите ее в режим «вне сети» перед запуском последовательности восстановления путем выполнения следующей инструкции ALTER DATABASE: ALTER DATABASE database_name SET OFFLINE.

В этом разделе:

  • Восстановление поврежденных файлов из резервных копий файлов

  • Связанные задачи

Восстановление поврежденных файлов из резервных копий файлов

  1. Перед началом восстановления одного или нескольких поврежденных файлов попробуйте создать резервную копию заключительного фрагмента журнала.

    Если журнал был поврежден, то невозможно создать резервную копию заключительного фрагмента журнала и приходится восстанавливать всю базу данных.

    Сведения о создании резервной копии журналов транзакций см. в разделе Резервные копии журналов транзакций (SQL Server).

    Важное примечаниеВажно!

    Для восстановления файлов вне сети необходимо всегда снимать резервную копию заключительного фрагмента журнала перед восстановлением резервной копии файлов. Для восстановления файлов вне сети необходимо всегда снимать резервную копию журнала перед восстановлением резервной копии файлов. Это необходимо из-за того, что файл должен быть восстановлен в состояние, согласованное с оставшейся частью базы данных.

  2. Восстановите каждый поврежденный файл из самой последней резервной копии этого файла.

  3. Восстановите самую последнюю разностную резервную копию файлов, если она существует, для каждого восстановленного файла.

  4. Восстановите резервные копии журнала транзакций в последовательности, начиная с резервной копии, покрывающей самый старый из восстановленных файлов, и заканчивая резервной копией заключительного фрагмента журнала, созданной на этапе 1.

    Необходимо восстановить резервные копии журналов транзакций, созданные после резервных копий файлов, для приведения базы данных в согласованное состояние. Накат резервных копий журналов транзакций может производиться быстро, поскольку применяются только изменения для восстановленных файлов. Восстановление отдельных файлов может привести к лучшим результатам, чем восстановление всей базы данных целиком, так как в последнем случае неповрежденные файлы не будут скопированы и будут откачены назад. Однако вся цепочка резервных копий журналов должна быть читаема.

  5. Восстановите базу данных по журналам транзакций.

ПримечаниеПримечание

Резервные копии файлов могут использоваться для восстановления базы данных на более ранний момент времени. Для этого необходимо восстановить полный набор резервных копий файлов, затем восстановить резервные копии журналов транзакций в последовательности до достижения нужной точки, следующей за концом самой последней восстановленной резервной копии файла. Дополнительные сведения о восстановлении на данный момент времени см. в разделе Восстановление базы данных SQL Server до определенного момента времени (модель полного восстановления).

Последовательность восстановления Transact-SQL для восстановления файлов вне сети (модель полного восстановления)

Сценарий восстановления файлов состоит из одной последовательности восстановления, которая копирует данные, выполняет накат и восстанавливает соответствующие данные.

В этом разделе показаны основные параметры инструкции RESTORE для последовательности восстановления файлов. Синтаксис и прочие подробности, несущественные для данной цели, опущены.

Пример показывает автономное восстановление вторичных файлов A и B с параметром WITH NORECOVERY. Далее используются две резервные копий журналов с параметром NORECOVERY, затем резервная копия заключительного фрагмента журнала и выполняется восстановление с параметром WITH NORECOVERY.

ПримечаниеПримечание

Следующая простая последовательность восстановления начинается с перевода файла в состояние «вне сети», после чего создается резервная копия заключительного фрагмента журнала.

--Take the file offline.
ALTER DATABASE database_name MODIFY FILE SET OFFLINE;
-- Back up the currently active transaction log.
BACKUP LOG database_name
   TO <tail_log_backup>
   WITH NORECOVERY;
GO 
-- Restore the files.
RESTORE DATABASE database_name FILE=name 
   FROM <file_backup_of_file_A> 
   WITH NORECOVERY;
RESTORE DATABASE database_name FILE=<name> ......
   FROM <file_backup_of_file_B> 
   WITH NORECOVERY;
-- Restore the log backups.
RESTORE LOG database_name FROM <log_backup> 
   WITH NORECOVERY;
RESTORE LOG database_name FROM <log_backup> 
   WITH NORECOVERY;
RESTORE LOG database_name FROM <tail_log_backup> 
   WITH RECOVERY;

Примеры

Связанные задачи

Восстановление файлов и файловых групп

[В начало]

См. также

Справочник

RESTORE (Transact-SQL)

Основные понятия

Резервное копирование и восстановление: взаимодействие и совместимость (SQL Server)

Разностные резервные копии (SQL Server)

полные резервные копии файлов (SQL Server)

Общие сведения о резервном копировании (SQL Server)

Обзор процессов восстановления (SQL Server)

Выполнение полного восстановления базы данных (Простая модель восстановления)

Поэтапное восстановление (SQL Server)