다음을 통해 공유


증분 복원(SQL Server)

적용 대상: SQL Server

이 항목은 여러 파일 또는 파일 그룹이 포함된 SQL Server Enterprise 버전(온라인 복원) 또는 Standard 버전(오프라인 복원)의 데이터베이스와 관련이 있습니다. 및 간단한 모델에서 읽기 전용 파일 그룹에만 해당합니다.

메모리 내 OLTP 데이터베이스의 증분 복원에 대한 자세한 내용은 메모리 액세스에 최적화된 테이블이 포함된 데이터베이스의 증분 백업 및 복원을 참조하세요.

증분 복원 을 사용하면 여러 파일 그룹이 포함된 데이터베이스를 단계적으로 복원하고 복구할 수 있습니다. 증분 복원에는 기본 파일 그룹 및 경우에 따라 하나 이상의 보조 파일 그룹으로 시작하는 일련의 복원 시퀀스가 포함됩니다. 증분 복원은 데이터베이스가 결국 일관성을 유지할 수 있도록 검사를 유지합니다. 복원 시퀀스가 완료되면 복구된 파일이 데이터베이스와 유효하고 일치하는 경우 직접 온라인 상태로 만들 수 있습니다.

증분 복원은 모든 복구 모델에서 작동하지만 단순 모델보다 전체 및 대량 로그 모델에 대해 더 유연합니다.

모든 증분 복원은 부분 복원 시퀀스라는 초기 복원 시퀀스로 시작합니다. 최소한 부분 복원 시퀀스는 기본 파일 그룹을 복원하고 복구하며, 단순 복구 모델에서 모든 읽기/쓰기 파일 그룹을 복구합니다. 증분 복원 시퀀스 동안 전체 데이터베이스가 오프라인으로 전환되어야 합니다. 그 후 데이터베이스가 온라인 상태가 되며 복원된 파일 그룹을 사용할 수 있습니다. 그러나 복원되지 않은 파일 그룹은 오프라인으로 유지되고 액세스할 수 없습니다. 그러나 오프라인 파일 그룹은 나중에 파일 복원을 통해 복원하고 온라인으로 전환할 수 있습니다.

데이터베이스에서 사용하는 복구 모델에 관계없이 부분 복원 시퀀스는 전체 백업을 복원하고 PARTIAL 옵션을 지정하는 RESTORE DATABASE 문으로 시작합니다. PARTIAL 옵션은 항상 새 증분 복원을 시작합니다. 따라서 PARTIAL 복원 시퀀스의 초기 문에서 PARTIAL을 한 번만 지정해야 합니다. 부분 복원 시퀀스가 완료되고 데이터베이스가 온라인 상태가 되면 복구가 연기되었으므로 나머지 파일의 상태가 "복구 보류 중"이 됩니다.

이후에 증분 복원에는 일반적으로 파일 그룹 복원 시퀀스라고 하는 하나 이상의 복원 시퀀스가 포함됩니다. 원하는 기간 동안 특정 파일 그룹 복원 시퀀스를 수행할 때까지 기다릴 수 있습니다. 각 파일 그룹 복원 시퀀스는 하나 이상의 오프라인 파일 그룹을 데이터베이스와 일치하는 지점으로 복원하고 복구합니다. 파일 그룹 복원 순서의 타이밍과 개수는 복구 목표, 복원할 오프라인 파일 그룹 수 및 파일 그룹 복원 순서당 복원할 오프라인 파일 그룹 수에 따라 달라집니다.

증분 복원을 수행하기 위한 정확한 요구 사항은 데이터베이스의 복구 모델에 따라 달라집니다. 자세한 내용은 이 항목의 뒷부분에 있는 "단순 복구 모델에서 증분 복원" 및 "전체 복구 모델 아래의 증분 복원"을 참조하세요.

증분 복원 시나리오

모든 버전의 SQL Server는 오프라인 증분 복원을 지원합니다. Enterprise 버전에서 증분 복원은 온라인 또는 오프라인일 수 있습니다. 오프라인 및 온라인 증분 복원의 의미는 다음과 같습니다.

  • 오프라인 증분 복원 시나리오

    오프라인 증분 복원에서 데이터베이스는 부분 복원 시퀀스 이후 온라인 상태입니다. 아직 복원되지 않은 파일 그룹은 오프라인 상태로 유지되지만 데이터베이스를 오프라인으로 전환한 후 필요에 따라 복원할 수 있습니다.

  • 온라인 증분 복원 시나리오

    온라인 증분 복원에서는 부분 복원 시퀀스 후에 데이터베이스가 온라인 상태가 되며 주 파일 그룹 및 복구된 모든 보조 파일 그룹을 사용할 수 있습니다. 아직 복원되지 않은 파일 그룹은 오프라인 상태로 유지되지만 데이터베이스가 온라인 상태로 유지되는 동안 필요에 따라 복원할 수 있습니다.

    온라인 증분 복원에는 지연된 트랜잭션이 사용될 수 있습니다. 파일 그룹의 하위 집합만 복원된 경우 온라인 파일 그룹에 종속된 데이터베이스의 트랜잭션이 지연될 수 있습니다. 이는 전체 데이터베이스가 일관되어야 하기 때문에 일반적입니다. 자세한 내용은 지연된 트랜잭션(SQL Server)를 참조하세요.

  • 메모리 내 OLTP 증분 복원 시나리오

    메모리 내 OLTP 데이터베이스의 증분 복원에 대한 자세한 내용은 메모리 액세스에 최적화된 테이블이 포함된 데이터베이스의 증분 백업 및 복원을 참조하세요.

제한 사항

부분 복원 순서에서 FILESTREAM 파일 그룹이 제외될 경우 지정 시간 복원은 지원되지 않습니다. 복원 순서를 강제로 계속할 수 있지만 RESTORE 문에서 누락된 FILESTREAM 파일 그룹은 복원되지 않습니다. 지정 시간 복원을 강제로 수행하려면 후속 RESTORE LOG 문에도 지정해야 하는 STOPAT, STOPATMARK 또는 STOPBEFOREMARK 옵션과 함께 CONTINUE_AFTER_ERROR 옵션을 지정합니다. CONTINUE_AFTER_ERROR를 지정하면 부분 복원 순서가 성공하고 FILESTREAM 파일 그룹이 복구 불가능한 상태가 됩니다.

단순 복구 모델에서의 증분 시나리오

단순 복구 모델에서 증분 복원 시퀀스는 전체 데이터베이스 또는 부분 백업으로 시작해야 합니다. 그런 다음 복원된 백업이 차등 기반인 경우 다음으로 최신 차등 백업을 복원합니다.

첫 번째 부분 복원 시퀀스 동안 읽기/쓰기 파일 그룹의 하위 집합만 복원하는 경우 부분적으로 복원된 데이터베이스를 복구할 때 복원되지 않은 모든 파일 그룹이 소멸됩니다. 부분 복원 시퀀스에서 읽기/쓰기 파일 그룹을 생략하는 것은 다음 경우에만 적합합니다.

  • 복원되지 않은 파일 그룹이 소멸되도록 합니다.

  • 복원 시퀀스는 복원되지 않은 각 파일 그룹이 읽기 전용, 삭제 또는 소멸된 복구 지점에 도착합니다(부분 복원 시퀀스의 이전 복원 중).

  • 데이터베이스가 단순 복구 모델을 사용하는 동안 전체 백업이 수행되었으나 복구 지점은 데이터베이스가 전체 복구 모델을 사용 중인 시점에 있는 경우. 자세한 내용은 이 항목 후반부의 "복구 모델에 단순에서 전체로 전환된 데이터베이스 증분 복원"을 참조하세요.

단순 복구 모델에서 증분 복원에 대한 요구 사항

단순 복구 모델에서 초기 단계는 기본 파일 그룹과 모든 읽기/쓰기 보조 파일 그룹을 복원하고 복구합니다. 초기 단계가 완료되면 복구된 파일이 유효하고 데이터베이스와 일치하는 경우 직접 온라인 상태로 만들 수 있습니다.

그 후에는 하나 이상의 추가 단계에서 읽기 전용 파일 그룹을 복원할 수 있습니다.

증분 복원은 다음이 true인 경우에만 읽기 전용 보조 파일 그룹에 사용할 수 있습니다.

  • 읽기 전용으로 백업되었습니다.

  • 읽기 전용으로 유지되었습니다(기본 파일 그룹과 논리적으로 일관성 유지).

증분 복원을 수행하려면 다음 지침을 따라야 합니다.

  • 단순 복구 모델 데이터베이스의 증분 복원을 위한 전체 백업 세트에는 다음이 포함되어야 합니다.

    • 백업 시 읽기/쓰기가 가능한 주 파일 그룹 및 모든 파일 그룹을 포함하는 부분 또는 전체 데이터베이스 백업입니다.

    • 각 읽기 전용 파일의 백업입니다.

  • 읽기 전용 파일의 백업이 주 파일 그룹의 백업과 일치하려면 보조 파일 그룹은 백업된 당시부터 주 파일 그룹을 포함하는 백업이 완료될 때까지 읽기 전용 상태여야 합니다. 파일 그룹이 읽기 전용 상태가 된 후 차등 파일 백업을 가져온 경우 차등 파일 백업을 사용할 수 있습니다.

증분 복원 단계(단순 복원 모델)

증분 복원 시나리오에는 다음 단계가 포함됩니다.

  • 초기 단계(주 파일 그룹과 모든 읽기/쓰기 파일 그룹 복원 및 복구)

    초기 단계에서는 부분 복원을 수행합니다. 부분 복원 순서에서는 주 파일 그룹과 모든 읽기/쓰기 보조 파일 그룹을 복원하고 선택적으로 읽기 전용 파일 그룹의 일부를 복원합니다. 초기 단계에서는 전체 데이터베이스가 오프라인으로 전환되어야 합니다. 초기 단계가 끝나면 데이터베이스가 온라인 상태가 되며 복원된 파일 그룹을 사용할 수 있습니다. 그러나 아직 복원되지 않은 읽기 전용 파일 그룹은 오프라인 상태로 유지됩니다.

    초기 단계의 첫 번째 RESTORE 문은 다음을 수행해야 합니다.

    • 주 파일 그룹과 백업 시 읽기/쓰기가 가능한 모든 파일 그룹이 포함된 부분 또는 전체 데이터베이스 백업을 사용합니다. 부분 백업을 복원하여 부분 복원 시퀀스를 시작하는 것이 일반적입니다.

    • 부분 복원의 시작을 나타내는 PARTIAL 옵션을 지정합니다.

    참고 항목

    PARTIAL 옵션은 보안 검사를 수행하므로 결과 데이터베이스를 프로덕션 데이터베이스로 사용할 수 있습니다.

    • 백업이 전체 데이터베이스 백업인 경우 READ_WRITE_FILEGROUPS 옵션을 지정합니다.
  • 데이터베이스가 온라인 상태인 동안 하나 이상의 온라인 파일 복원을 사용하여 백업 시 읽기 전용이었던 오프라인 읽기 전용 파일을 복원하고 복구할 수 있습니다. 온라인 파일 복원 시기는 데이터를 온라인 상태로 하려는 경우에 따라 달라집니다.

    데이터를 파일로 복원해야 하는지 여부는 다음에 따라 달라집니다.

    • 데이터베이스와 일치하는 유효한 읽기 전용 파일은 데이터를 복원하지 않고 복구하여 직접 온라인 상태로 만들 수 있습니다.

    • 데이터베이스가 손상되었거나 일치하지 않는 파일은 복구하기 전에 복원해야 합니다.

예제

데이터베이스의 증분 복원(전체 복구 모델)

전체 복구 모델 또는 대량 로그 복구 모델에서는 여러 파일 그룹이 있는 모든 데이터베이스에 대해 증분 복원을 사용하여 해당 데이터베이스를 임의의 시점으로 복원할 수 있습니다. 증분 복원의 복원 시퀀스는 다음과 같이 작동합니다.

  • 부분 복원 시퀀스

    부분 복원 순서에서는 주 파일 그룹과 모든 읽기/쓰기 보조 파일 그룹을 복원하고 선택적으로 읽기 전용 파일 그룹의 일부를 복원합니다.

    첫 번째 RESTORE DATABASE 문은 다음을 수행해야 합니다.

    • PARTIAL 옵션을 지정합니다. 이는 증분 복원의 시작을 나타냅니다.

    • 기본 파일 그룹이 포함된 전체 데이터베이스 백업을 사용합니다. 일반적인 방법은 부분 백업을 복원하여 부분 복원 시퀀스를 시작하는 것입니다.

    • 특정 시점으로 복원하려면 부분 복원 시퀀스에서 시간을 지정해야 합니다. 복원 시퀀스의 모든 연속 단계에서는 동일한 시점을 지정해야 합니다.

  • 파일 그룹 복원 시퀀스는 데이터베이스와 일치하는 지점으로 추가 파일 그룹을 온라인 상태로 만듭니다.

    엔터프라이즈 버전에서 데이터베이스가 온라인 상태인 동안에는 오프라인 보조 파일 그룹을 복원 및 복구할 수 있습니다. 특정 읽기 전용 파일이 손상되지 않고 데이터베이스와 일치하는 경우 파일을 복원할 필요가 없습니다. 자세한 내용은 데이터를 복원하지 않고 데이터베이스 복구(Transact-SQL)를 참조하세요.

로그 백업 적용

파일 백업을 만들기 전부터 읽기 전용 파일 그룹이 있는 경우 파일 그룹에 로그 백업을 적용할 필요가 없으며 파일 복원을 통해 건너뜁니다. 파일 그룹이 읽기/쓰기인 경우 파일 그룹을 현재 로그 파일로 전달하려면 끊어지지 않은 로그 백업 체인을 마지막 전체 또는 차등 복원에 적용해야 합니다. 복구 프로세스에 대한 자세한 내용은 복원 및 복구 개요(SQL Server)를 참조하세요.

예제

단순 복구 모델에서 전체 복구 모델로 전환된 데이터베이스의 증분 복원 수행

전체 부분 또는 데이터베이스 백업 이후 단순 복구 모델에서 전체 복구 모델로 전환된 데이터베이스의 증분 복원을 수행할 수 있습니다. 예를 들어 다음 단계를 수행하는 데이터베이스를 고려해 보세요.

  1. 단순 모델 데이터베이스의 부분 백업(backup_1)을 만듭니다.

  2. 조만간 복구 모델을 전체 모델로 변경합니다.

  3. 차등 백업을 만듭니다.

  4. 로그 백업을 시작합니다.

이후 유효한 시퀀스는 다음과 같습니다.

  1. 일부 보조 파일 그룹을 생략하는 부분 복원입니다.

  2. 차등 복원 다음에 필요한 다른 복원이 뒤따릅니다.

  3. 나중에 backup_1 부분 백업에서 읽기/쓰기 보조 파일 그룹의 파일을 WITH NORECOVERY 옵션을 사용하여 복원

  4. 데이터를 원래 복구 지점으로 복원하기 위한 원래 증분 복원으로 다른 모든 백업이 복원된 후 이어지는 차등 백업

참고 항목

트랜잭션 로그 백업 적용(SQL Server)
RESTORE(Transact-SQL)
SQL Server 데이터베이스를 지정 시간으로 복원(전체 복구 모델)
복원 및 복구 개요(SQL Server)
복원 시퀀스 계획 및 수행(전체 복구 모델)
복원 및 복구 개요(SQL Server)