복원은 백업에서 데이터를 복사하고 트랜잭션 로그를 데이터에 적용하여 대상 복구 지점으로 롤포워드하는 프로세스입니다. 백업에는 각 백업을 복원하는 과정의 일부로 활성 트랜잭션을 롤포워드하기에 충분한 트랜잭션 로그 레코드가 포함됩니다. 또한 각 백업에는 데이터베이스를 일관되고 사용 가능한 상태로 복구할 수 있도록 커밋되지 않은 모든 트랜잭션을 롤백하기에 충분한 트랜잭션 로그도 포함됩니다. 커밋되지 않은 트랜잭션이 있는 경우 롤포워드하고 데이터베이스를 온라인으로 전환하는 프로세스를 복구라고 합니다.
이 항목에는 다음과 같은 하위 항목이 포함되어 있습니다.
• |
• |
전체 파일 및 파일 그룹(Windows만 해당) |
• |
차등 파일 및 파일 그룹(Windows만 해당) |
• |
부분 데이터베이스(Windows만 해당) |
• |
차등 부분 데이터베이스(Windows만 해당) |
다시 실행은 데이터를 특정 시점으로 전달하기 위해 기록된 변경 사항을 롤포워드 집합에 있는 데이터에 다시 적용하는 프로세스입니다. SQL Server 데이터베이스 엔진에서는 다시 실행을 수행하기 위해 트랜잭션 로그 백업이 복원될 때 이를 처리합니다. 엔진은 앞의 항목에 나열된 데이터 복사 백업과 당시에 복원되는 모든 증분 트랜잭션 로그 백업에 포함된 로그부터 시작합니다. 롤포워드는 복구 지점에서 중지됩니다. 이 지점은 증분 트랜잭션 로그 백업에 대해 SQL Server 복원 옵션에 지정된 지점이거나 로그의 끝입니다. SQL Server용 플러그인 에서는 시간 기준 및 표시된 트랜잭션 기준 PIT 복구를 모두 지원합니다.
복구 프로세스가 시작될 때 데이터가 트랜잭션 측면에서 일관된 상태라면 실행 취소 단계가 생략됩니다.
데이터베이스가 트랜잭션 측면에서 일관된 상태가 되면 복구에서 데이터베이스를 온라인 상태로 전환합니다.
성공적인 복원을 수행하려면 사용할 수 있는 복원의 유형을 충분히 이해해야 합니다. 이 항목에서는 다양한 복구 모델에 대해 지원되는 가능한 복원 시나리오를 간략하게 설명합니다.
단순 복구 모델에서는 다음과 같은 복원 시나리오가 지원됩니다.
• |
전체 데이터베이스 복원: 단순 복구 모델 데이터베이스에서 전체 데이터베이스 복원의 목적은 전체 데이터베이스를 복원하는 것입니다. 이 복원 유형은 대개 전체 데이터베이스 백업을 복원하거나 전체 데이터베이스 백업 다음에 차등 데이터베이스 백업을 복원하는 것과 관련이 있습니다. 전체 데이터베이스 복원 중에 전체 데이터베이스가 오프라인 상태가 됩니다. |
• |
파일 복원(Windows만 해당): 단순 복구 모델 데이터베이스에 대한 파일 복원에서는 전체 데이터베이스를 복원하지 않고 하나 이상의 손상된 읽기 전용 파일을 복원하는 것이 목적입니다. 이 복원 유형은 전체 파일 및 파일 그룹 백업과 관련이 있습니다. |
• |
부분 데이터베이스 복원(Windows만 해당): 단순 복구 모델 데이터베이스에 대한 부분 복원에는 부분 데이터베이스 또는 차등 부분 데이터베이스 백업에 포함된 기본 파일 그룹 및 모든 읽기/쓰기 파일 그룹을 복원하는 것이 포함됩니다. 전체 파일 및 파일 그룹 백업과 함께 읽기 전용 파일 그룹을 복원하는 것은 읽기 전용 파일 그룹이 손상된 경우에만 필요합니다. |
전체 및 대량 로그 복구 모델에서 다음과 같은 복원 시나리오가 지원됩니다.
• |
전체 데이터베이스 복원: 전체 및 대량 로그 복구 모델에서는 전체 데이터베이스를 오류 발생 시점으로 복원하는 것이 목적입니다. 전체 복원 시퀀스에는 대개 다음이 포함됩니다. |
1 |
비상 로그 백업을 수행합니다. |
2 |
3 |
4 |
5 |
• |
파일 복원(Windows만 해당): 전체 또는 대량 로그 복구 모델 데이터베이스에 대한 파일 복원에서는 전체 데이터베이스를 복원하지 않고 손상된 파일을 복원하는 데 사용할 수 있는 옵션을 남겨 두고 전체 데이터베이스를 복원하는 것이 목적입니다. 이 복원 유형은 다음과 같은 복원 시퀀스와 관련이 있습니다. |
1 |
비상 로그 백업을 수행합니다. |
2 |
3 |
4 |
5 |
• |
특정 시점(PIT) 복구: 증분 트랜잭션 로그 복원 중에 복원된 트랜잭션 로그에 대한 PIT 복구를 수행할 수 있습니다. SQL Server용 플러그인 에서는 시간:분:초를 사용하는 시간 기준 및 표시된 트랜잭션 기준 PIT 복구를 모두 지원합니다. PIT 복구 옵션은 증분 트랜잭션 로그 및 비상 로그 백업을 복원할 때 사용할 수 있습니다. |
• |
시간 기준 특정 시점 복구: 시간 기준 PIT 복구는 데이터 손상이 발생한 시간을 알고 있을 때 유용합니다. 예를 들어 개발자가 오전 6:00:00에 테이블을 삭제하였다면 오전 5:55:00의 중지 시간으로 PIT 복구를 수행할 수 있습니다. 시간 기준 PIT 복구는 관련 없는 데이터베이스에만 사용할 수 있습니다. 따라서 여러 SQL Server 데이터베이스가 논리적으로 일관성이 있어야 하는 경우에는 표시된 트랜잭션 PIT 복구를 사용해야 합니다. |
• |
표시된 트랜잭션 기준 특정 시점 복구: SQL Server 2008 이상에서는 특정 표시로 복구할 수 있도록 트랜잭션 로그에 명명된 표시를 삽입할 수 있는 기능을 지원합니다. 이 기능은 논리적으로 일관성이 있어야 하는 데이터베이스가 두 개 이상인 경우에 유리합니다. 복원 후에 이러한 데이터베이스의 복구 성능을 보장하기 위해 특별한 절차를 이행할 수 있습니다. 관련된 데이터베이스를 표시된 트랜잭션으로 복구하는 것만 가능하기 때문에 백업을 수행하기 전에 명명된 표시를 트랜잭션 로그에 삽입하도록 해당 응용 프로그램을 구성해야 합니다. 자세한 내용은 SQL Server 온라인 설명서의 관련 데이터베이스의 복구 성능 보장 및 표시된 트랜잭션으로 복구를 참조하십시오. |
SQL Server 인스턴스를 시작하려면 master 데이터베이스에 액세스할 수 있어야 하고 최소한 일부를 사용할 수 있어야 합니다. master 데이터베이스를 사용할 수 없게 되면 현재 데이터베이스 백업에서 master를 복원하거나 master를 다시 빌드하여 데이터베이스를 사용 가능한 상태로 되돌릴 수 있습니다.
서버 인스턴스를 시작할 수 있는 경우에만 전체 데이터베이스 백업에서 master 데이터베이스를 복원할 수 있습니다. master 데이터베이스에 심각한 손상이 발생하여 SQL Server를 시작하지 못하는 경우에 사용 가능한 유일한 옵션은 master를 다시 빌드하는 것입니다. 자세한 내용은 SQL Server 온라인 설명서의 master 데이터베이스 다시 빌드를 참조하십시오.
master 데이터베이스의 복원에는 다음이 포함됩니다.
• |
master 데이터베이스의 전체 데이터베이스 백업을 복원합니다. |
• |
마지막 백업 이후에 master에 적용된 변경 사항이 손실되었기 때문에 해당 단계를 다시 수행하여 다시 만듭니다. |
• |
master가 복원되고 변경 사항이 다시 적용된 후에는 즉시 master를 백업합니다. |
자세한 내용은 대체 SQL Server로 데이터 복원을 참조하십시오.
다음과 같은 상황에서 model 또는 msdb 데이터베이스를 백업에서 복원해야 합니다.
• |
• |
model 또는 msdb를 복원하는 것은 사용자 데이터베이스의 전체 데이터베이스 복원을 수행하는 것과 같습니다.
msdb를 복원하기 전에 제어판에서 SQL Server 에이전트 서비스를 중지해야 합니다. Quest 는 또한 복원 절차에서 필요에 따라 사용자와의 연결을 끊기 때문에 응용 프로그램을 종료할 것을 권장합니다.
© ALL RIGHTS RESERVED. 이용 약관 개인정보 보호정책 Cookie Preference Center