JetBackupInstance 함수

적용 대상: Windows | Windows Server

JetBackupInstance 함수

JetBackupInstance 함수는 연결된 모든 데이터베이스를 포함하여 인스턴스의 스트리밍 백업을 디렉터리에 수행합니다. 엔진에서 지원하는 여러 백업 방법을 사용하면 가장 간단하고 캡슐화된 함수입니다.

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

    JET_ERR JET_API JetBackupInstance(
      __in          JET_INSTANCE instance,
      __in          JET_PCSTR szBackupPath,
      __in          JET_GRBIT grbit,
      __in          JET_PFNSTATUS pfnStatus
    );

매개 변수

instance

백업할 데이터베이스의 인스턴스입니다.

szBackupPath

백업이 저장되는 디렉터리입니다. 백업 경로가 NULL인 경우 함수를 사용하면 가능하면 로그가 잘립니다.

grbit

다음 옵션 중 0개 이상을 지정하는 비트 그룹입니다.

의미

JET_bitBackupAtomic

데이터베이스의 전체 백업을 만듭니다. 이렇게 하면 새 백업이 실패할 경우 동일한 디렉터리에 기존 백업을 보존할 수 있습니다.

JET_bitBackupIncremental

전체 백업이 아닌 증분 백업을 만듭니다. 즉, 마지막 전체 또는 증분 백업 이후 만든 로그 파일만 백업됩니다.

JET_bitBackupSnapshot

향후 사용을 위해 예약되어 있습니다.

pfnStatus

백업 작업의 진행률에 대한 알림 정보를 제공하는 JET_PFNSTATUS 콜백 함수에 대한 포인터입니다.

Return Value

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

반환 코드

설명

JET_errSuccess

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

JET_errBackupInProgress

동일한 인스턴스에 대한 백업이 이미 진행 중입니다. 여러 백업은 동시에 허용되지 않습니다.

JET_errBackupNotAllowedYet

인스턴스가 초기화 중이므로 아직 백업할 준비가 되지 않았습니다.

JET_errClientRequestToStopJetService

JetStopServiceInstance 호출로 인해 세션과 연결된 인스턴스의 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다.

JET_errInstanceUnavailable

세션과 연결된 인스턴스에서 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다.

Windows XP: 이 반환 값은 Windows XP에서 도입되었습니다.

JET_errInvalidBackup

순환 로깅이 켜진 경우 증분 백업이 허용되지 않습니다.

JET_errInvalidGrbit

지정한 옵션이 잘못되었습니다.

JET_errInvalidParameter

잘못된 매개 변수가 API에 전달되었습니다.

JET_errInvalidPath

대상 경로가 없습니다.

JET_errLoggingDisabled

인스턴스가 로깅 없이 실행되고 있습니다. 백업이 허용되지 않습니다.

JET_errLogReadVerifyFailure

로그 파일에 검사sum 확인 오류가 발생했습니다.

JET_errLogWriteFail

인스턴스에 대한 로깅은 예기치 않은 오류로 인해 일시적이거나 영구적으로 비활성화됩니다.

JET_errNotInitialized

세션과 연결된 인스턴스가 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다.

JET_errReadVerifyFailure

데이터베이스 페이지에 검사섬 확인 오류가 발생했습니다.

JET_errRestoreInProgress

세션과 연결된 인스턴스에서 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다.

JET_errSessionSharingViolation

두 개 이상의 스레드에 대해 동시에 동일한 세션을 사용할 수 없습니다.

Windows XP: 이 반환 값은 Windows XP에서 도입되었습니다.

JET_errTermInProgress

세션과 연결된 인스턴스가 종료되고 있으므로 작업을 완료할 수 없습니다.

함수가 성공을 반환하면 백업 디렉터리에서 백업 시점까지 복원에 필요한 모든 파일이 표시됩니다. 전체 백업인 경우 파일은 데이터베이스 파일과 데이터베이스를 일관된 상태로 만드는 데 필요한 로그 파일이 됩니다. 증분 백업인 경우 로그 파일만 디렉터리에 추가되지만 기존 파일(데이터베이스 및 로그 파일)을 새 로그 파일과 함께 복원하고 백업 시 데이터베이스를 다시 상태로 되돌릴 수 있습니다.

백업의 부작용으로 더 이상 필요하지 않은 로그 파일은 잘립니다.

동시에 데이터베이스 헤더는 마지막 백업이 이루어졌을 때 정보로 업데이트됩니다.

실패할 경우 백업 디렉터리 대상에 파일이 없으므로 복원이 불가능합니다. 동시에 현재 로그 파일은 잘리지 않습니다.

설명

백업의 다른 단계에는 파일 이름, 로그 잘림 및 백업의 최종 결과를 포함하여 이벤트 로그 항목이 생성됩니다.

증분 백업은 전체 백업을 수행한 후에만 가능합니다. 또한 순환 로깅이 꺼져 있는 경우에만 증분 백업이 가능합니다. 백업 디렉터리에는 백업에 관련되었거나 이전에 성공한 백업에 의해 추가된 다른 파일이 포함되어서는 안 됩니다.

인스턴스에 대해 매개 변수 JET_paramCreatePathIfNotExist 설정하지 않는 한 백업 디렉터리가 있어야 합니다. 자세한 내용은 시스템 매개 변수를 참조 하세요.

백업은 사용된 모든 데이터베이스 페이지와 Windows Server 2003부터 로그 파일에서도 검사섬 확인을 수행합니다. 이렇게 하면 일반 작업 중에 읽지 않는 페이지에 대해서도 데이터베이스의 상태를 예측할 수 있습니다. 이러한 손상이 발생하면 백업이 실패합니다.

백업하는 동안 현재 로그 파일이 완료되고 새 로그 생성이 시작됩니다. 이렇게 하면 마지막으로 필요한 로그 파일이 더 이상 사용되지 않으므로 필요한 로그 파일을 복사할 수 있습니다.

백업을 백업 이외의 용도로 사용하고 엔진 수준에서 복원해서는 안 됩니다. 이렇게 하면 백업 및 복원 작업 중에 오류가 발생할 수 있는 변경이 최소화됩니다.

요구 사항

요구 사항

클라이언트

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

서버

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

Header

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

라이브러리

ESENT.lib를 사용합니다.

Dll

ESENT.dll이 필요합니다.

Unicode

JetBackupInstanceW(유니코드) 및 JetBackupInstanceA(ANSI)로 구현됩니다.

참고 항목

JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopServiceInstance
시스템 매개 변수