Выполнение полного восстановления базы данных (простая модель восстановления)
Задача полного восстановления — восстановить базу данных целиком. В период восстановления база данных недоступна. Прежде чем какая-либо часть базы данных станет доступна, все данные восстанавливаются до точки согласования, в которой все части базы данных находятся в одном и том же моменте времени и в которой нет незафиксированных транзакций.
При использовании простой модели восстановления база данных не может быть восстановлена к определенному моменту времени внутри заданной резервной копии.
Восстановление полной базы данных
- Полное восстановление базы данных при использовании простой модели восстановления состоит из одной или двух инструкций 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. |
Как выполнить восстановление резервной копии базы данных (Transact-SQL)
Как восстановить резервную копию базы данных (среда SQL Server Management Studio)
Важно! |
---|
Если база данных восстанавливается на другой экземпляр сервера, см. разделы Создание копий баз данных с помощью резервного копирования и восстановления и Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера. |
Восстановление разностной резервной копии базы данных
Базовый синтаксис инструкции RESTORE восстановления разностной резервной копии базы данных:
RESTORE DATABASE имя_базы_данных FROM устройство_резервного_копирования WITH RECOVERY
Как восстановить разностную резервную копию базы данных (Transact-SQL)
Как восстановить разностную резервную копию (среда SQL Server Management Studio)
Восстановление резервной копии с помощью объектов 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 и более ранних версий. |
См. также