전체 데이터베이스 복원(단순 복구 모델)
적용 대상: SQL Server
전체 데이터베이스 복원에서 목표는 전체 데이터베이스를 복원하는 것입니다. 복원하는 동안 전체 데이터베이스는 오프라인 상태가 됩니다. 데이터베이스의 일부가 온라인 상태가 되기 전에 모든 데이터는 데이터베이스의 모든 부분이 동일한 시점에 있고 커밋되지 않은 트랜잭션이 없는 일관된 지점으로 복구됩니다.
단순 복구 모델에서는 특정 백업 내의 특정 시점으로 데이터베이스를 복원할 수 없습니다.
Important
출처를 알 수 없거나 신뢰할 수 없는 데이터베이스는 연결하지 않는 것이 좋습니다. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다. 알 수 없거나 신뢰할 수 없는 소스의 데이터베이스를 사용하기 전에 비프로덕션 서버의 데이터베이스에서 DBCC CHECKDB 를 실행하여 데이터베이스에서 코드(예: 저장 프로시저 또는 다른 사용자 정의 코드)를 시험해 보세요.
항목 내용
참고 항목
이전 버전 SQL Server의 백업 지원에 대한 자세한 내용은 RESTORE(Transact-SQL)의 “호환성 지원” 섹션을 참조하세요.
단순 복구 모델에서의 데이터베이스 복원 개요
단순 복구 모델에서 전체 데이터베이스 복원에는 차등 데이터베이스 백업을 복원할지 여부에 따라 하나 또는 두 개의 RESTORE 문이 포함됩니다. 전체 데이터베이스 백업만 사용하는 경우 다음 그림과 같이 최신 백업을 복원하기만 하면 됩니다.
또한 차등 데이터베이스 백업을 사용하는 경우 데이터베이스를 복구하지 않고 가장 최근의 전체 데이터베이스 백업을 복원한 다음 가장 최근의 차등 데이터베이스 백업을 복원하고 데이터베이스를 복구합니다. 다음 그림에서 이 프로세스를 나타냅니다.
참고 항목
데이터베이스 백업을 다른 서버 인스턴스로 복원하려는 경우 백업 및 복원을 사용하여 데이터베이스 복사를 참조하세요.
기본 Transact-SQL RESTORE 구문
전체 데이터베이스 백업에 대한 기본 Transact-SQL RESTORE 구문은 다음과 같습니다.
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)