Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Задача полного восстановления — восстановить базу данных целиком. В период восстановления база данных находится вне сети. Прежде чем какая-либо часть базы данных перейдет в режим «в сети», все данные восстанавливаются до точки согласования, в которой все части базы данных находятся в одном и том же моменте времени и в которой нет незафиксированных транзакций.
При использовании простой модели восстановления база данных не может быть восстановлена к определенному моменту времени внутри заданной резервной копии.
Внимание
Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. Эти базы данных могут содержать вредоносный код, который может выполнять непреднамеренный код Transact-SQL или вызвать ошибки, изменив схему или физическую структуру базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код.
Сведения о поддержке резервных копий из предыдущих версий SQL Server см. в разделе RESTORE"Поддержка совместимости" (Transact-SQL).
Общие сведения о восстановлении баз данных в рамках простой модели восстановления
Полное восстановление базы данных в простой модели восстановления включает одну или две RESTORE инструкции в зависимости от того, требуется ли восстановить разностную резервную копию базы данных. При использовании только полной резервной копии базы данных просто восстановите последнюю резервную копию, как показано на следующем рисунке.
Если используется также восстановление разностной резервной копии базы данных, восстановите самую последнюю полную резервную копию базы данных без восстановления самой базы данных, а затем восстановите самую последнюю разностную резервную копию базы данных и восстановите саму базу данных. На следующем рисунке показан этот процесс.
Примечание.
Если база данных восстанавливается на другой экземпляр сервера, см. раздел Копирование баз данных путем создания и восстановления резервных копий.
Базовый синтаксис Transact-SQL RESTORE
Базовый синтаксис Transact-SQLRESTORE для восстановления полной резервной копии базы данных:
RESTORE DATABASE database_name От backup_device [ С NORECOVERY ]
Примечание.
Если планируется также восстановление разностной резервной копии базы данных, используйте параметр WITH NORECOVERY.
Базовый RESTORE синтаксис для восстановления резервной копии базы данных:
RESTORE DATABASE database_name ИЗ backup_device С ВОССТАНОВЛЕНИЕМ
Пример (Transact-SQL)
В следующем примере сначала показано, как использовать инструкцию BACKUP для создания полной резервной копии базы данных и разностной резервной копии базы данных AdventureWorks2025. Затем в этом примере резервные копии восстанавливаются по порядку. База данных восстанавливается к состоянию на момент создания разностной резервной копии базы данных.
В примере показаны критически важные параметры в последовательности восстановления для полного восстановления базы данных. Последовательность восстановления состоит из одной или нескольких операций восстановления, которые выполняют перемещение данных в одном или нескольких этапах восстановления. Синтаксис и прочие подробности, несущественные для данной цели, опущены. При восстановлении базы данных рекомендуется явно указать параметр RECOVERY, несмотря на то, что он подразумевается по умолчанию.
Примечание.
Пример начинается с оператора ALTER DATABASE, который задает модели восстановления значение SIMPLE.
USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks2022 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2022 database.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FILE=2, RECOVERY;
GO
Связанные задачи
Восстановление полной резервной копии базы данных
Восстановление резервной копии базы данных в простой модели восстановления (Transact-SQL)
Восстановление базы данных в новое расположение (SQL Server)
Восстановление разностной резервной копии базы данных
Восстановление резервной копии с помощью управляющих объектов SQL Server (SMO)