다음을 통해 공유


완전 데이터베이스 복원 수행(단순 복구 모델)

완전 데이터베이스 복원의 목적은 전체 데이터베이스를 복원하는 것입니다. 복원하는 동안 전체 데이터베이스는 오프라인 상태가 됩니다. 데이터베이스의 일부를 온라인에 연결하기 전에 데이터베이스의 모든 부분의 지정 시간이 같고 커밋되지 않은 트랜잭션이 없는 일치하는 지점으로 모든 데이터를 복구합니다.

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

전체 데이터베이스 복원

단순 복구 모델에서는 차등 데이터베이스 백업을 복원해야 하는지 여부에 따라 전체 데이터베이스 복원이 하나 또는 두 개의 RESTORE 문으로만 이루어집니다.

전체 데이터베이스 백업만 사용하는 경우 가장 최근의 백업을 복원하십시오. 또한 차등 데이터베이스 백업을 사용하는 경우 데이터베이스를 복구하지 않고 가장 최근의 전체 데이터베이스 백업을 복원한 다음 가장 최근의 차등 데이터베이스 백업을 복원하고 데이터베이스를 복구합니다.

데이터베이스를 완전히 복원할 때는 하나의 복원 시퀀스를 사용해야 합니다. 다음 예에서는 완전 데이터베이스 복원 시나리오에 따른 복원 시퀀스의 중요 옵션을 보여 줍니다. 복원 시퀀스는 하나 이상의 복원 단계를 통해 데이터를 이동시키는 하나 이상의 복원 작업으로 구성됩니다. 이 용도와 관련 없는 구문 및 세부 사항은 생략됩니다.

데이터베이스는 전체 데이터베이스 백업의 상태로 복원됩니다. 데이터베이스를 복구할 때 명확성을 위해 RECOVERY 옵션(기본값)을 명시적으로 지정하는 것이 좋습니다. .

다음 예에서는 먼저 BACKUP 문을 사용하여 전체 데이터베이스 백업과 AdventureWorks 데이터베이스의 차등 데이터베이스 백업을 만드는 방법을 보여 줍니다. 그런 다음 이러한 백업을 차례로 복원합니다.

[!참고] 이 예는 복구 모델을 SIMPLE로 설정하는 ALTER DATABASE 문으로 시작합니다.

USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=2, RECOVERY;
GO

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

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

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

[!참고] 차등 데이터베이스 백업도 복원하려면 WITH NORECOVERY를 사용합니다.

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

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

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

SMO(SQL Server Management Objects)를 사용하여 백업을 복원하려면

이전 버전의 SQL Server에서의 백업 지원

SQL Server 2005에서 SQL Server 버전 7.0, SQL Server 2000 또는 SQL Server 2005를 사용하여 만든 데이터베이스 백업을 복원할 수 있습니다. 그러나 SQL Server 7.0 또는 SQL Server 2000을 사용하여 만든 master, modelmsdb의 백업은 SQL Server 2005에서 복원할 수 없습니다.

SQL Server 2005는 이전 버전과는 다른 기본 경로를 사용합니다. 그러므로 백업에서 SQL Server 7.0 또는 SQL Server 2000의 기본 위치에 만든 데이터베이스를 복원하려면 MOVE 옵션을 사용해야 합니다. 새 기본 경로에 대한 자세한 내용은 SQL Server 2005의 기본 인스턴스 및 명명된 인스턴스의 파일 위치를 참조하십시오.

[!참고] SQL Server 6.5 이전 버전으로 만든 데이터베이스 백업이 호환되는 형식이 아닌 경우 SQL Server 2005에서 복원할 수 없습니다. SQL Server 6.5 또는 그 이전 버전으로 만든 데이터베이스를 SQL Server 2005로 업그레이드하는 방법은 SQL Server 6.5 또는 이전 버전에서 데이터베이스 복사를 참조하십시오.

참고 항목

개념

전체 데이터베이스 백업
차등 데이터베이스 백업
단순 복구 모델에서의 백업
데이터베이스 복원 시 복구 시간 줄이기
단순 복구 모델에서의 복원 제한 사항
SQL Server에서의 백업 복원 및 복구 작동 방법 이해

관련 자료

RESTORE(Transact-SQL)
BACKUP(Transact-SQL)
sp_addumpdevice(Transact-SQL)
SQL Server 데이터베이스에 대한 복원 시퀀스 작업

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 7월 17일

새로운 내용
  • "전체 데이터베이스 복원" 섹션에 기본 RESOTRE 구문을 제공했습니다.
변경된 내용
  • 논리적 백업 장치를 지정하는 대신 DISK 옵션을 사용하여 물리적 백업 장치를 지정하도록 예제 BACKUP 및 RESTORE 문을 변경했습니다.