共用方式為


JetBackup 函式

適用于: Windows |Windows Server

JetBackup 函式

JetBackup函式會在資料庫上線時建立資料庫的備份。 此函式主要用於與 Windows 2000 和更早版本資料庫引擎的回溯相容性,其中只允許一個資料庫的實例。 在此情況下,使用中實例是備份的實例。

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

參數

szBackupPath

儲存備份的目錄。 如果備份路徑為 Null,函式會盡可能截斷記錄。

grbit

指定下列選項之零或多個位群組。

意義

JET_bitBackupAtomic

建立資料庫的完整備份。 如果新的備份失敗,這可保留相同目錄中的現有備份。

JET_bitBackupIncremental

建立增量備份,而不是完整備份。 這表示只會備份上次完整備份或增量備份後的記錄檔。

pfnStatus

JET_PFNSTATUS回呼函式的指標,提供備份作業進度的相關通知資訊。

傳回值

函式會傳回其中一個 JET_ERR 錯誤碼。 以下是最常傳回的 。 (如需此 API 錯誤的完整清單,請參閱 可延伸儲存引擎錯誤碼。)

傳回碼

描述

JET_errSuccess

作業已成功完成。

JET_errBackupInProgress

相同實例的備份已在進行中。 不允許同時進行多個備份。

JET_errBackupNotAllowedYet

實例尚未準備好進行備份,因為它正在初始化。

JET_errClientRequestToStopJetService

作業無法完成,因為呼叫 JetStopService時,與會話相關聯的實例上的所有活動都已停止。

JET_errInstanceUnavailable

作業無法完成,因為與會話相關聯的實例發生嚴重錯誤,需要撤銷所有資料的存取權,以保護該資料的完整性。

Windowsxp: 這個傳回值是在 Windows XP 中引進。

JET_errInvalidBackup

如果迴圈記錄已開啟,則不允許增量備份。

JET_errInvalidGrbit

指定的選項無效。

JET_errInvalidParameter

不正確參數已傳遞至 API。

JET_errInvalidPath

目的地路徑不存在。

JET_errLoggingDisabled

實例正在執行,而不需記錄。 不允許備份。

JET_errLogReadVerifyFailure

記錄檔發生總和檢查碼驗證錯誤。

JET_errLogWriteFail

實例的記錄是暫時或永久停用,因為發生非預期的錯誤。

JET_errNotInitialized

作業無法完成,因為與會話相關聯的實例尚未初始化。

JET_errReadVerifyFailure

資料庫頁面上發生總和檢查碼驗證錯誤。

JET_errRestoreInProgress

作業無法完成,因為與會話相關聯的實例上正在進行還原作業。

JET_errSessionSharingViolation

同一個會話不能同時用於一個以上的執行緒。

Windowsxp: 這個傳回值是在 Windows XP 中引進。

JET_errTermInProgress

作業無法完成,因為與會話相關聯的實例正在關閉。

如果函式成功,備份目錄中將會包含備份目錄中最多還原所需的所有檔案。 如果這是完整備份,檔案會是資料庫檔案,以及將資料庫帶入一致狀態所需的記錄檔。 如果這是增量備份,則只會將記錄檔新增至目錄,但現有的檔案 (資料庫和記錄檔) ,以及新的記錄檔,將能夠還原,讓資料庫回到備份開始時的狀態。

做為備份的副作用,不再需要的記錄檔將會遭到截斷。

同時,資料庫標頭將會隨著上次備份發生時的資訊進行更新。

如果函式失敗,備份目錄目的地中不會有任何檔案,因此無法還原。 同時,不會截斷目前的記錄檔。

備註

備份的不同步驟會產生事件記錄檔專案,包括檔案名、記錄截斷,以及備份的最終結果。

只有在建立完整備份之後,才能進行增量備份。 此外,只有在迴圈記錄已關閉時,才能進行增量備份。 建議備份目錄不應包含備份中使用的檔案,或先前成功備份所新增的檔案。

除非為 實例設定參數 JET_paramCreatePathIfNotExist ,否則備份目錄應該存在。 如需詳細資訊,請參閱 系統參數

備份也會在所有已使用的資料庫頁面上以及從 Windows Server 2003 開始,在記錄檔上執行總和檢查碼驗證。 這可讓您估計資料庫的健康情況,即使是在正常作業期間未讀取的頁面也一般。 如果遇到任何這類損毀,備份將會失敗。

在備份期間,將會完成目前的記錄檔,並產生新的記錄檔。 如此一來,所有必要的記錄檔都可以複製,因為目前的記錄將不再使用中。

強烈建議不要將備份用於引擎層級的備份和還原以外的任何用途。 這會將備份和還原作業期間發生錯誤的機會降到最低。

規格需求

需求

用戶端

需要 Windows Vista、Windows XP 或 Windows 2000 Professional。

Server

需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

Unicode

實作為 JetBackupW (Unicode) 和 JetBackupA (ANSI) 。

另請參閱

可延伸儲存引擎檔案
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
系統參數