JetBackup 함수

적용 대상: Windows | Windows Server

JetBackup 함수

JetBackup 함수는 데이터베이스가 온라인 상태인 동안 데이터베이스의 백업을 만듭니다. 이 함수는 주로 데이터베이스의 instance 하나만 허용되는 Windows 2000 및 이전 데이터베이스 엔진과의 이전 버전과의 호환성을 위한 것입니다. 이 경우 활성 instance 백업되는 instance.

    JET_ERR JET_API JetBackup(
      __in          JET_PCSTR szBackupPath,
      __in          JET_GRBIT grbit,
      __in          JET_PFNSTATUS pfnStatus
    );

매개 변수

szBackupPath

백업이 저장되는 디렉터리입니다. 백업 경로가 NULL인 경우 함수는 가능한 경우 로그를 자립니다.

grbit

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

의미

JET_bitBackupAtomic

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

JET_bitBackupIncremental

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

pfnStatus

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

반환 값

함수는 JET_ERR 오류 코드 중 하나를 반환합니다. 가장 일반적으로 반환되는 항목은 다음과 같습니다. (이 API에 대한 전체 오류 목록은 확장 가능한 스토리지 엔진 오류 코드를 참조하세요.)

반환 코드

설명

JET_errSuccess

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

JET_errBackupInProgress

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

JET_errBackupNotAllowedYet

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

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

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

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

JET_errInvalidBackup

순환 로깅이 켜져 있으면 증분 백업이 허용되지 않습니다.

JET_errInvalidGrbit

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

JET_errInvalidParameter

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

JET_errInvalidPath

대상 경로가 없습니다.

JET_errLoggingDisabled

instance 로깅 없이 실행됩니다. 백업이 허용되지 않습니다.

JET_errLogReadVerifyFailure

로그 파일에 체크섬 확인 오류가 발생했습니다.

JET_errLogWriteFail

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

JET_errNotInitialized

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

JET_errReadVerifyFailure

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

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

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

JET_errTermInProgress

세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다.

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

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

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

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

설명

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

증분 백업은 전체 백업을 수행한 후에만 가능합니다. 또한 순환 로깅이 꺼져 있는 경우에만 증분 백업이 가능합니다. 백업 디렉터리에 백업에 사용되거나 이전에 성공한 백업에서 추가한 파일이 아닌 다른 파일은 포함하지 않는 것이 좋습니다.

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

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

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

백업은 엔진 수준에서 백업 및 복원 이외의 용도로 사용하지 않는 것이 좋습니다. 이렇게 하면 백업 및 복원 작업 중에 오류가 발생할 가능성이 최소화됩니다.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다.

서버

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

머리글

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

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

유니코드

JetBackupW(유니코드) 및 JETBackupA(ANSI)로 구현됩니다.

참고 항목

확장 가능한 스토리지 엔진 파일
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
시스템 매개 변수