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


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

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

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

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

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

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

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

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

RESTORE DATABASE database_name WITH RECOVERY

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

Предложение 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;

[В начало]

Примеры завершения сценария поэтапного восстановления восстановлением только по журналу транзакций

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

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

См. также

Справочник

RESTORE (Transact-SQL)

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

Восстановление в сети (SQL Server)

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

Восстановления файлов (простая модель восстановления)

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