다음을 통해 공유


전체 데이터베이스 백업(SQL Server)

적용 대상: SQL Server

전체 데이터베이스 백업은 전체 데이터베이스를 백업합니다. 여기에는 전체 데이터베이스 백업이 복원된 후 전체 데이터베이스를 복구할 수 있도록 트랜잭션 로그의 일부가 포함됩니다. 전체 데이터베이스 백업은 백업 완료 시점의 데이터베이스를 나타냅니다.

데이터베이스 크기가 증가함에 따라 전체 데이터베이스 백업을 완료하는 데 더 많은 시간이 걸리고 더 많은 저장소 공간이 필요합니다. 따라서 대규모 데이터베이스의 경우 일련의 차등 데이터베이스 백업으로 전체 데이터베이스 백업을 보완할 수 있습니다. 자세한 내용은 차등 백업(SQL Server)을 참조하세요.

Important

TRUSTWORTHY가 데이터베이스 백업에서 OFF로 설정됩니다. TRUSTWORTHYON으로 설정하는 방법에 대한 자세한 내용은 ALTER DATABASE SET 옵션(Transact-SQL)을 참조하세요.

단순 복구 모델에서 데이터베이스 백업

단순 복구 모델에서는 각 백업 후에 재해가 발생할 경우 데이터베이스가 잠재적인 작업 손실에 노출됩니다. 작업 손실 노출이 0으로 반환되고 새로운 작업 손실 노출 주기가 시작될 때 다음 백업까지 업데이트할 때마다 작업 손실 노출이 증가합니다. 시간의 경과에 따라 백업 사이의 작업 손실 가능성이 증가합니다. 다음 그림에서는 전체 데이터베이스 백업만 사용하는 백업 전략의 작업 손실 가능성을 보여 줍니다.

데이터베이스 백업 간의 작업 손실을 보여주는 다이어그램입니다.

예(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

전체 복구 모델에서 데이터베이스 백업

전체 및 대량 로그 복구를 사용하는 데이터베이스의 경우 데이터베이스 백업이 필요하지만 충분하지 않습니다. 트랜잭션 로그 백업도 필요합니다. 다음 그림에서는 전체 복구 모델에서 사용 가능한 가장 단순한 백업 전략을 보여 줍니다.

일련의 전체 데이터베이스 백업 및 로그 백업을 보여 주는 다이어그램

로그 백업을 만드는 방법에 대한 자세한 내용은 트랜잭션 로그 백업(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

전체 데이터베이스 백업을 사용하여 데이터베이스 복원

한 번에 데이터베이스의 백업을 원하는 장소에 복원하여 데이터베이스를 다시 만들 수 있습니다. 백업이 완료된 시점까지 데이터베이스를 복구할 수 있도록 충분한 트랜잭션 로그가 백업에 포함됩니다. 복원된 데이터베이스는 커밋되지 않은 트랜잭션을 제외하면 데이터베이스 백업이 완료된 당시의 원래 데이터베이스 상태와 일치합니다. 전체 복구 모델에서 모든 후속 트랜잭션 로그 백업을 복원해야 합니다. 커밋되지 않은 트랜잭션은 데이터베이스가 복원될 때 롤백됩니다.

자세한 내용은 전체 데이터베이스 복원(단순 복구 모델) 또는 전체 데이터베이스 복원(전체 복구 모델)을 참조하세요.