전체 데이터베이스 복원(단순 복구 모델)

적용 대상:SQL Server

전체 데이터베이스 복원에서 목표는 전체 데이터베이스를 복원하는 것입니다. 복원하는 동안 전체 데이터베이스는 오프라인 상태가 됩니다. 데이터베이스의 일부가 온라인 상태가 되기 전에 모든 데이터는 데이터베이스의 모든 부분이 동일한 시점에 있고 커밋되지 않은 트랜잭션이 없는 일관된 지점으로 복구됩니다.

단순 복구 모델에서는 특정 백업 내의 특정 시점으로 데이터베이스를 복원할 수 없습니다.

Important

알 수 없거나 신뢰할 수 없는 원본에서 데이터베이스를 연결하거나 복원하지 않는 것이 좋습니다. 이러한 데이터베이스에는 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류를 일으킬 수 있는 악성 코드가 포함될 수 있습니다. 알 수 없거나 신뢰할 수 없는 소스의 데이터베이스를 사용하기 전에 비프로덕션 서버의 데이터베이스에서 DBCC CHECKDB 를 실행하여 데이터베이스에서 코드(예: 저장 프로시저 또는 다른 사용자 정의 코드)를 시험해 보세요.

이 항목에서는 다음을 수행합니다.

참고 항목

이전 버전 SQL Server의 백업 지원에 대한 자세한 내용은 RESTORE(Transact-SQL)의 “호환성 지원” 섹션을 참조하세요.

단순 복구 모델에서의 데이터베이스 복원 개요

단순 복구 모델에서 전체 데이터베이스 복원에는 차등 데이터베이스 백업을 복원할지 여부에 따라 하나 또는 두 개의 RESTORE 문이 포함됩니다. 전체 데이터베이스 백업만 사용하는 경우 다음 그림과 같이 최신 백업을 복원하기만 하면 됩니다.

Restoring only a full database backup

또한 차등 데이터베이스 백업을 사용하는 경우 데이터베이스를 복구하지 않고 가장 최근의 전체 데이터베이스 백업을 복원한 다음 가장 최근의 차등 데이터베이스 백업을 복원하고 데이터베이스를 복구합니다. 다음 그림에서 이 프로세스를 나타냅니다.

Restoring full and differential database backups

참고 항목

데이터베이스 백업을 다른 서버 인스턴스로 복원하려는 경우 백업 및 복원을 사용하여 데이터베이스 복사를 참조하세요.

기본 Transact-SQL RESTORE 구문

전체 데이터베이스 백업을 복원하기 위한 기본 Transact-SQLRESTORE 구문은 다음과 같습니다.

RESTORE DATABASE database_name from backup_device [ WITH NORECOVERY ]

참고 항목

차등 데이터베이스 백업도 복원하려는 경우 WITH NORECOVERY를 사용합니다.

데이터베이스 백업을 복원하는 기본 RESTORE 구문은 다음과 같습니다.

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

예제(Transact-SQL)

다음 예제에서는 먼저 BACKUP 문을 사용하여 데이터베이스의 전체 데이터베이스 백업 및 차등 데이터베이스 백업을 AdventureWorks2022 만드는 방법을 보여줍니다. 그런 다음 이러한 백업을 차례로 복원합니다. 차등 데이터베이스 백업이 완료된 시점을 기준으로 데이터베이스가 해당 상태로 복원됩니다.

이 예제에서는 전체 데이터베이스 복원 시나리오에 대한 복원 시퀀스의 중요한 옵션을 보여줍니다. 복원 시퀀스는 하나 이상의 복원 단계를 통해 데이터를 이동하는 하나 이상의 복원 작업으로 구성됩니다. 이 용도와 관련 없는 구문 및 세부 사항은 생략됩니다. 데이터베이스를 복구하는 경우 기본값인 경우에도 명확하게 복구 옵션을 명시적으로 지정하는 것이 좋습니다.

참고 항목

이 예제는 복구 모델을 .로 설정하는 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  

관련 작업

전체 데이터베이스 백업을 복원하려면

차등 데이터베이스 백업을 복원하려면

SMO(SQL Server 관리 개체)를 사용하여 백업을 복원하려면

참고 항목

RESTORE(Transact-SQL)
BACKUP(Transact-SQL)
sp_addumpdevice(Transact-SQL)
전체 데이터베이스 백업(SQL Server)
차등 백업(SQL Server)
백업 개요(SQL Server)
복원 및 복구 개요(SQL Server)