JetInit3 函式
適用于: Windows |Windows Server
JetInit3 函式
JetInit3函式會將資料庫引擎置於可支援應用程式使用資料庫檔案的狀態。 引擎必須已經正確設定為初始化,您可以使用 JetSetSystemParameter 函式來完成。 請注意,資料庫當機復原會在初始化過程中自動發生。
Windows Vista:JetInit3 是在 Windows Vista 中引進。
JET_ERR JET_API JetInit3(
__in_out_opt JET_INSTANCE* pinstance,
__in_opt JET_RSTINFO* prstInfo,
__in JET_GRBIT grbit
);
參數
pinstance
您用於特定呼叫的 實例。 此參數的使用取決於引擎的作業模式。 如果引擎是以舊版模式運作, (Windows 2000 相容性模式) ,其中僅支援一個實例,您可以將此參數設定為 Null 或包含 Null 或JET_instanceNil的有效輸出緩衝區,以傳回初始化副作用所建立的全域實例控制碼。 此實例控制碼接著可以傳遞至任何其他採用 實例的 API。 如果引擎在多重實例模式中運作,您必須將此參數設定為有效的輸入緩衝區,其中包含正在初始化 之 JetCreateInstance 函式所傳回的實例控制碼。
prstInfo
用於在復原期間重新對應資料庫的其他復原參數、設定復原將停止的位置,或用於判斷目前的復原狀態。
grbit
一組位,指定下表所列和定義的零或多個選項。
值 |
意義 |
---|---|
JET_bitReplayReplicatedLogFiles |
這個值已保留供未來使用 |
JET_bitCreateSFSVolumeIfNotExist |
這個值已保留供未來使用 |
JET_bitReplayIgnoreMissingDB |
這個值可讓使用者在一組記錄檔上執行復原,即使沒有附加至某個時間點所設定記錄檔的資料庫也一樣。 |
JET_bitRecoveryWithoutUndo |
這個值可讓使用者執行復原,但最多隻能 (,而不包含) 復原階段。 使用此值時,可以在 中複製並套用其他交易記錄。 |
JET_bitTruncateLogsAfterRecovery |
此值會導致在成功的軟復原期間截斷記錄檔。 |
JET_bitReplayMissingMapEntryDB |
這個值會使遺漏的資料庫對應專案預設為相同的位置。 |
JET_bitReplayIgnoreLostLogs |
此值會導致在復原期間忽略記錄資料流程結尾的記錄遺失。 Windows 7:JET_bitReplayIgnoreLostLogs 是在 Windows 7 中引進。 |
傳回值
此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能的可延伸儲存引擎 (ESE) 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
備註
實例必須先使用 JetInit3 函式的呼叫來初始化, 才能由 JetSetSystemParameter 函式以外的任何專案使用。
即使從未使用JetInit函式初始化該實例,呼叫JetTerm函式也會終結實例。 實例是資料庫引擎的復原性單位。 它會控制用來保護一組資料庫檔案中資料完整性的所有檔案生命週期。 這些檔案包括檢查點檔案和交易記錄檔。 請注意,如果JetInit3函式失敗,則不應該呼叫JetTerm。 不過,如果從未呼叫JetInit3或JetInit3成功,仍應該針對JetCreateInstance2所建立的所有實例呼叫JetTerm。
如果復原是在非所有相關資料庫的一組記錄上執行, (在正常情況下會傳回錯誤JET_errAttachedDatabaseMismatch) ,而且用戶端想要在遺失的資料庫的情況下繼續復原,則會使用JET_bitReplayIgnoreMissingDB錯誤繼續復原可用的資料庫。
因為當機復原通常不會發生在相同的電腦上 (,而且與當機時相同的組態) ,所以資料庫通常不會變更位置。 在某些情況下,例如將檔案移至不同的電腦,或將快照集備份還原至不同位置,這已不再成立。 JetInit3函式可讓您使用舊資料庫位置與其新位置之間的JET_RSTINFO和JET_RSTMAP結構) 來指定對應 (。 事實上,只要資料庫檔案存在於該位置,您就只需要新的位置。 一旦您知道還原資料庫的位置,資料庫簽章就會用來透過還原程式來識別資料庫。 只有在需要重新建立資料庫時,才需要原始資料庫位置,在此情況下,簽章是已知的。
此外,如果您需要在復原作業之後停止復原,您可以指定復原停止的特定記錄位置。 請注意,如果指定的位置是產生的一部分,但超過實際記錄的結尾,則這包括在特定記錄產生結束時停止的能力。
如需詳細資訊,請參閱 JetInit 主題中的一節。
規格需求
需求 | 值 |
---|---|
Client |
需要 Windows Vista。 |
伺服器 |
需要 Windows Server 2008。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
DLL |
需要ESENT.dll。 |
Unicode |
實作為 JetInit3W (Unicode) 和 JetInit3A (ANSI) 。 |
另請參閱
可延伸儲存引擎檔案
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
資源參數