Полные резервные копии базы данных (SQL Server)

Применимо к:SQL Server

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

По мере увеличения размера базы данных полное резервное копирование базы данных занимает больше времени, чтобы завершить работу и требовать больше места в хранилище. Поэтому для больших баз данных может потребоваться, кроме полных резервных копий, создавать также и разностные резервные копии баз данных. Дополнительные сведения см. в разделе разностных резервных копий (SQL Server).

Важно!

TRUSTWORTHY имеет значение OFF для резервной копии базы данных. Дополнительные сведения о настройке TRUSTWORTHYONсм. в разделе "Параметры ALTER DATABASE SET" (Transact-SQL).

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

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

Diagram showing the work-loss exposure between database backups.

Пример (Transact-SQL)

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

-- Back up the AdventureWorks2022 database to new media set.
BACKUP DATABASE AdventureWorks2022
    TO DISK = 'Z:\SQLServerBackups\AdventureWorksSimpleRM.bak'
    WITH FORMAT;
GO

Резервное копирование базы данных в модели полного восстановления

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

Diagram showing the series of full database backups and log backups.

Сведения о создании резервных копий журналов см. в статье "Резервные копии журналов транзакций" (SQL Server).

Пример (Transact-SQL)

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

USE master;
GO
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;
GO
-- Back up the AdventureWorks2022 database to new media set (backup set 1).
BACKUP DATABASE AdventureWorks2022
  TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022FullRM.bak'
  WITH FORMAT;
GO
--Create a routine log backup (backup set 2).
BACKUP LOG AdventureWorks2022 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022FullRM.bak';
GO

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

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

Дополнительные сведения см. в разделе "Полные операции восстановления базы данных" (простая модель восстановления) или "Полное восстановление базы данных" (модель полного восстановления).