전체 데이터베이스 복원 수행(단순 복구 모델)
전체 데이터베이스 복원의 목적은 전체 데이터베이스를 복원하는 것입니다. 복원하는 동안 전체 데이터베이스는 오프라인 상태가 됩니다. 데이터베이스의 일부를 온라인에 연결하기 전에 데이터베이스의 모든 부분의 지정 시간이 같고 커밋되지 않은 트랜잭션이 없는 일치하는 지점으로 모든 데이터를 복구합니다.
단순 복구 모델에서는 특정 백업 내의 특정 시점으로 데이터베이스를 복원할 수 없습니다.
전체 데이터베이스 복원
- 단순 복구 모델에서는 차등 데이터베이스 백업을 복원해야 하는지 여부에 따라 전체 데이터베이스 복원이 하나 또는 두 개의 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 2008에서는 SQL Server 2000, SQL Server 2005 또는 SQL Server 2008을 사용하여 만든 데이터베이스 백업을 복원할 수 있습니다. 그러나 SQL Server 2000 또는 SQL Server 2005를 사용하여 만든 master, model 및 msdb의 백업은 SQL Server 2008로 복원할 수 없습니다. 또한 SQL Server 2008 백업은 이전 버전의 SQL Server로 복원할 수 없습니다.
SQL Server 2008은 이전 버전과는 다른 기본 경로를 사용합니다. 따라서 SQL Server 2000 또는 SQL Server 2005의 기본 위치에 만든 데이터베이스 백업을 복원하려면 MOVE 옵션을 사용해야 합니다. 새 기본 경로에 대한 자세한 내용은 SQL Server 기본 인스턴스 및 명명된 인스턴스의 파일 위치를 참조하십시오.
[!참고]
SQL Server 버전 7.0 또는 그 이전 버전으로 만든 데이터베이스를 SQL Server 2005로 업그레이드하는 방법은 SQL Server 7.0 또는 이전 버전에서 데이터베이스 복사를 참조하십시오.