共用方式為


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

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

意義

JET_bitBackupAtomic

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

JET_bitBackupIncremental

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

JET_bitBackupSnapshot

保留供未來使用。

pfnStatus

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

傳回值

此函式會傳回具有下列其中一個傳回 碼的 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

記錄檔上有總和檢查碼驗證錯誤。

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。

Server

需要 Windows Server 2008 或 Windows Server 2003。

頁首

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要 ESENT.dll。

Unicode

實作為 JetBackupInstanceW (Unicode) 和 JetBackupInstanceA (ANSI)。

另請參閱

JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopServiceInstance
系統參數