Как восстановить разностную резервную копию базы данных (Transact-SQL)

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

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

  1. Выполните инструкцию RESTORE DATABASE с предложением NORECOVERY, чтобы восстановить полную резервную копию базы данных, которая предшествует разностной резервной копии базы данных. Дополнительные сведения см. в разделе Как восстановить полную резервную копию.

  2. Выполните инструкцию RESTORE DATABASE для восстановления разностной резервной копии базы данных, указав:

    • имя базы данных, к которой будет применена разностная резервная копия;

    • устройство резервного копирования, с которого происходит восстановление разностной резервной копии базы данных;

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

  3. В модели полного восстановления или модели восстановления с неполным протоколированием разностная резервная копия восстанавливает базу данных на момент выполнения разностного резервного копирования. Чтобы восстановить данные на момент сбоя, следует применить все резервные копии журнала транзакций, созданные после создания последней разностной копии базы данных. Дополнительные сведения см. в разделе Как применить резервную копию журналов транзакций (Transact-SQL).

Пример

A. Восстановление базы данных и разностной резервной копии базы данных

В этом примере восстанавливается база данных и разностная резервная копия базы данных MyAdvWorks.

-- Assume the database is lost, and restore full database, 
-- specifying the original full database backup and NORECOVERY, 
-- which allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   RECOVERY
GO

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

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

-- Assume the database is lost at this point. Now restore the full 
-- database. Specify the original full database backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   NORECOVERY
GO
-- Now restore each transaction log backup created after
-- the differential database backup.
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log1
   WITH NORECOVERY
GO
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log2
   WITH RECOVERY
GO