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


Восстановление базы данных без восстановления данных (Transact-SQL)

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

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

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

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

  • Вы не восстановили базу данных при восстановлении последней резервной копии в последовательности восстановления, и теперь хотите подключить базу данных, чтобы она была доступна.

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

Синтаксис инструкции RESTORE для восстановления базы данных только для целей восстановления выглядит следующим образом:

ВОССТАНОВИТЬ БАЗУ ДАННЫХ database_name С ВОССТАНОВЛЕНИЕМ

Замечание

Предложение FROM =<backup_device> не используется для восстановления, потому что резервное копирование не требуется.

Пример

Следующий пример восстанавливает образец базы данных AdventureWorks2012 в операции восстановления без восстановления данных.

-- Restore database using WITH RECOVERY.  
RESTORE DATABASE AdventureWorks2012  
   WITH RECOVERY  

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

Восстановление файлов только для восстановления может быть полезно в следующей ситуации.

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

Операция восстановления только для восстановления активирует данные в файловой группе, которая была в автономном режиме; при этом не выполняется ни копирование данных, ни повтор, ни стадия отката. Сведения о этапах восстановления см. в разделе "Обзор восстановления и восстановления" (SQL Server).

Синтаксис команды RESTORE для восстановления только файла:

RESTORE DATABASE database_name { FILE =logical_file_name | FILEGROUP =logical_filegroup_name }[ ,... n ] WITH RECOVERY

Пример

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

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;  

Примеры выполнения сценария реставрации по частям с использованием Recovery-Only.

Простая модель восстановления

Модель полного восстановления

См. также

Восстановление в сети (SQL Server)
Восстановление по частям (SQL Server)
Восстановление файлов (простая модель восстановления)
Восстановление файлов (модель полного восстановления)
RESTORE (Transact-SQL)