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

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

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

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

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

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

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

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

Пример

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

ms186216.note(ru-ru,SQL.90).gifПримечание.
Пример начинается с инструкции ALTER DATABASE, которая устанавливает модель восстановления SIMPLE.
USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=2, RECOVERY;
GO

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

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

RESTORE DATABASE имя_базы_данных FROM устройство_резервного_копирования [ WITH NORECOVERY ]

ms186216.note(ru-ru,SQL.90).gifПримечание.
Если планируется также восстановление разностной резервной копии базы данных, используйте параметр WITH NORECOVERY.

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

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

RESTORE DATABASE имя_базы_данных FROM устройство_резервного_копирования WITH RECOVERY

Восстановление резервной копии с помощью объектов SMO

Поддержка резервных копий предыдущих версий SQL Server

В SQL Server 2005 можно восстанавливать резервные копии, созданные в SQL Server 7.0, SQL Server 2000 и SQL Server 2005. Однако восстановление резервных копий баз данных master, model и msdb, сделанных в SQL Server 7.0 или SQL Server 2000, в SQL Server 2005 невозможно.

В SQL Server 2005 используется путь по умолчанию, отличный от пути, использованного в предыдущих версиях. Поэтому, чтобы восстановить из резервной копии базу данных, созданную в месте расположения по умолчанию SQL Server 7.0 или SQL Server 2000, необходимо использовать параметр MOVE. Сведения о новом пути по умолчанию см. в разделе Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server 2005.

ms186216.note(ru-ru,SQL.90).gifПримечание.
Резервные копии, созданные с помощью SQL Server 6.5 или более ранних версий, имеют несовместимый формат и не могут быть восстановлены в SQL Server 2005. Сведения об обновлении базы данных, созданной в SQL Server 6.5 или более ранней версии, до SQL Server 2005 см. в разделе Копирование баз данных с SQL Server 6.5 и более ранних версий.

См. также

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

Полные резервные копии базы данных
Разностные резервные копии баз данных
Резервное копирование при простой модели восстановления
Сокращение времени восстановления базы данных из копии
Ограничения для восстановления по простой модели восстановления
Основные сведения о восстановлении из резервных копий и по журналам в SQL Server

Другие ресурсы

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Работа с последовательностями восстановления для баз данных SQL Server

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Новое содержимое
  • Добавлен базовый синтаксис инструкции RESTORE в разделе «Восстановление полной базы данных».
Измененное содержимое
  • Изменен пример инструкций BACKUP и RESTORE, в которых вместо логического устройства резервного копирования указывается физическое устройство резервного копирования в параметре DISK.