다음을 통해 공유


JetExternalRestore2 함수

적용 대상: Windows | Windows Server

JetExternalRestore2 함수

JetExternalRestore2 함수는 외부 백업 API와 함께 수행된 외부 백업을 복원하고 순환 로깅 작업에 사용할 검사점도 제공합니다. 이를 하드 복구라고 하는데, 이는 JetInit 함수에서 수행하는 것과 유사하지만 소프트 복구와 다릅니다.

Windows XP: JetExternalRestore2 는 Windows XP에 도입되었습니다.

    JET_ERR JET_API JetExternalRestore2(
      __in          JET_PSTR szCheckpointFilePath,
      __in          JET_PSTR szLogPath,
      __in_opt      JET_RSTMAP* rgrstmap,
      __in          long crstfilemap,
      __in          JET_PSTR szBackupLogPath,
      __in_out      JET_LOGINFO* pLogInfo,
      __in_opt      JET_PSTR szTargetInstanceName,
      __in_opt      JET_PSTR szTargetInstanceLogPath,
      __in_opt      JET_PSTR szTargetInstanceCheckpointPath,
      __in          JET_PFNSTATUS pfn
    );

매개 변수

szCheckpointFilePath

szTargetInstanceCheckpointPath가 지정되지 않았거나 경로에 활성 또는 실행 중인 instance 있는 경우 복구 중에 사용할 검사점 파일의 경로입니다.

szLogPath

복구의 최종 단계(실행 취소)와 롤 포워드 로그에 대한 로그의 경로 또는 디렉터리입니다. 이 경로는 szBackupLogPath와 같을 수 있습니다.

rgrstmap

JET_RSTMAP 구조체 의 배열입니다. 이전 및 새 데이터베이스 경로 또는 파일 이름의 맵입니다. 데이터베이스가 백업된 위치가 아닌 다른 위치로 복구해야 할 수 있기 때문에 사용됩니다. 여러 데이터베이스가 단일 로깅 집합에 연결된 경우 복원 맵은 복원할 데이터베이스의 하위 집합을 지정할 수 있습니다.

crstfilemap

rgrstmap 배열 매개 변수의 항목 수입니다.

szBackupLogPath

로그 파일이 복원되는 디렉터리의 경로입니다. 외부 백업 시퀀스 중에 읽은 로그입니다. 이 경로는 szLogPath와 같을 수 있습니다.

pLogInfo

pLogInfo는 복구에 대한 백업 로그의 여러 측면을 설명합니다. 이 매개 변수를 사용하면 JetExternalRestore2가 "edb"라는 추정 로그 기본 이름 대신 JetExternalRestore2에 있는 명시적 genLowgenHigh 매개 변수와 기본 로그 이름을 사용할 수 있습니다.

szTargetInstanceName

이 매개 변수는 더 이상 사용되지 않으며 애플리케이션에서 사용할 수 없습니다.

szTargetInstanceLogPath

롤 포워드하려는 로그의 위치가 활성 로깅 집합 또는 instance 있는 경우 롤 포워드 로그의 경로입니다. 대상 instance 순환 로깅을 사용하는 경우 지정해서는 안 됩니다.

szTargetInstanceCheckpointPath

이 대상에서 실행되는 활성 instance 없는 경우 복구 중 검사점의 경로입니다. 대상 instance 순환 로깅을 사용하는 경우 지정해서는 안 됩니다.

Pfn

복구 진행률을 보고하는 상태 콜백입니다.

반환 값

이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류오류 처리 매개 변수를 참조하세요.

반환 코드

설명

JET_errSuccess

작업이 성공적으로 완료되었습니다.

JET_errBadRestoreTargetInstance

지정된 szTargetInstanceLogPath가 초기화된 instance 속하지 않습니다. 이 오류는 Windows XP 이상에서만 반환됩니다.

JET_errDatabaseCorrupted

데이터베이스가 손상되었거나 인식할 수 없는 파일을 나타냅니다.

JET_errEndingRestoreLogTooLow

이 오류는 szBackupLogPath의 로그 파일에 대해 genHigh 또는 pLogInfo.ulGenHigh에 지정된 위의 로그 생성이 있는 경우 반환됩니다.

JET_errFileNotFound

지정된 경로에서 찾을 수 없으므로 요청된 파일을 열 수 없어 작업이 실패했습니다.

JET_errInvalidParameter

제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 다른 매개 변수의 값과 결합할 때 의미가 없는 값이 포함되어 있습니다. 이는 JetExternalRestore에 대해 발생할 수 있으며, szTargetCheckpointPathszTargetInstanceLogPath가 모두 지정되지 않았거나 지정되지 않은 경우에 발생할 수 있습니다. 즉, 일치해야 하며 지정되거나 둘 다 지정되지 않아야 합니다.

JET_errInvalidPath

지정된 경로를 찾을 수 없어 작업이 실패했습니다.

JET_errOutOfMemory

완료할 메모리가 부족하여 작업이 실패했습니다.

JET_errRestoreOfNonBackupDatabase

복원 중에 지정된 데이터베이스 파일이 외부 백업으로 백업된 데이터베이스가 아닌 경우 이 오류가 반환됩니다.

JET_errRunningInOneInstanceMode

데이터베이스 엔진은 단일 instance 모드에서 외부 복원 또는 하드 복구를 실행할 수 없습니다. 이 오류는 Windows XP 이상에서만 반환됩니다.

JET_errStartingRestoreLogTooHigh

이 오류는 szBackupLogPath의 로그 파일 중 하나에 genLow 또는 pLogInfo.ulGenLow로 지정된 아래 로그 생성이 있는 경우 반환됩니다.

성공하면 rgrstmap의 모든 데이터베이스가 완전히 복구되고 클린 또는 일관된 상태입니다. 이 시점에서 데이터베이스를 기존 instance 다시 탑재할 수 있습니다.

오류가 발생할 경우 엔진에서 데이터베이스를 복구할 수 없습니다. 데이터베이스가 잘못된 상태이며 하드 복구를 다시 시도하려면 전체 데이터베이스를 다시 복원해야 합니다. 일반적으로 이러한 상황의 원본은 디스크 또는 로그 손상 또는 다른 형태의 로그 잘못된 관리 또는 비연속 로그 집합입니다.

설명

JetExternalRestore를 참조하세요.

요구 사항

요구 사항

클라이언트

Windows Vista 또는 Windows XP가 필요합니다.

서버

Windows Server 2008 또는 Windows Server 2003이 필요합니다.

머리글

Esent.h에서 선언되었습니다.

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

유니코드

JetExternalRestore2W(유니코드) 및 JetExternalRestore2A(ANSI)로 구현됩니다.

참고 항목

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit