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


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

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

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

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

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

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

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

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

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

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

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

Пример

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

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

Пример начинается с инструкции 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 ]

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

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

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

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

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

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

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

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

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

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

Сведения об обновлении базы данных, созданной в SQL Server 7.0 или более ранней версии, до SQL Server 2005 см. в разделе Копирование баз данных SQL Server 7.0 и более ранних версий.

См. также

Справочник

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

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