次の方法で共有


JetExternalRestore2 関数

適用対象: Windows |Windows Server

JetExternalRestore2 関数

JetExternalRestore2 関数は、外部バックアップ API で取得された外部バックアップを復元し、循環ログ操作に使用するチェックポイントを提供します。 これはハード リカバリと呼ばれ、 JetInit 関数によって実行されるソフト リカバリと似ていますが、異なります。

Windows XP: JetExternalRestore2 は Windows XP で導入されています。

    JET_ERR JET_API JetExternalRestore2(
      __in          JET_PSTR szCheckpointFilePath,
      __in          JET_PSTR szLogPath,
      __in_opt      JET_RSTMAP* rgrstmap,
      __in          long crstfilemap,
      __in          JET_PSTR szBackupLogPath,
      __in_out      JET_LOGINFO* pLogInfo,
      __in_opt      JET_PSTR szTargetInstanceName,
      __in_opt      JET_PSTR szTargetInstanceLogPath,
      __in_opt      JET_PSTR szTargetInstanceCheckpointPath,
      __in          JET_PFNSTATUS pfn
    );

パラメーター

szCheckpointFilePath

szTargetInstanceCheckpointPath が指定されていない場合、またはそのパスにアクティブまたは実行中のインスタンスがある場合に、回復中に使用するチェックポイント ファイルのパス。

szLogPath

復旧の最終フェーズ (元に戻す) と場合によってはロールフォワード ログのログのパスまたはディレクトリ。 このパスは 、szBackupLogPath と同じにすることができます。

rgrstmap

これは、 JET_RSTMAP 構造体の配列です。 これは、古いデータベース パスと新しいデータベース パスまたはファイル名のマップです。 これは、バックアップ元の場所以外の場所にデータベースを復旧する必要がある場合があるために使用されます。 複数のデータベースが 1 つのログ セットにアタッチされている場合、復元マップでは、復元するデータベースのサブセットを指定できます。

crstfilemap

rgrstmap 配列パラメーター内のエントリの数。

szBackupLogPath

ログ ファイルが復元されるディレクトリへのパス。 これらは、外部バックアップ シーケンス中に読み取られたログです。 このパスは 、szLogPath と同じにすることができます。

pLogInfo

pLogInfo では、復旧するバックアップ ログのいくつかの側面について説明します。このパラメーターを使用すると、JetExternalRestore2が持つ明示的な genLow パラメーターと genHigh パラメーターと、"edb" の推定ログベース名ではなく、ベース ログ名を取得できます。

szTargetInstanceName

このパラメーターは非推奨であり、アプリケーションでは使用できません。

szTargetInstanceLogPath

ロールフォワードするログの場所がアクティブなログ セットまたはインスタンスにある場合のロールフォワード ログのパス。 ターゲット インスタンスが循環ログを使用している場合は、これを指定しないでください。

szTargetInstanceCheckpointPath

このターゲットでアクティブなインスタンスが実行されていない場合の、復旧中のチェックポイントのパス。 ターゲット インスタンスが循環ログを使用している場合は、これを指定しないでください。

pfn

回復の進行状況を報告する状態コールバック。

戻り値

この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラーエラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errBadRestoreTargetInstance

指定された szTargetInstanceLogPath は、初期化されたインスタンスに属していません。 このエラーは、Windows XP 以降でのみ返されます。

JET_errDatabaseCorrupted

これは、データベースが破損しているか、認識されないファイルであることを示します。

JET_errEndingRestoreLogTooLow

このエラーは、 szBackupLogPath 内のログ ファイルに対して、 genHigh または pLogInfo.ulGenHigh で指定されたログ生成が上記の場合に返されます。

JET_errFileNotFound

指定したパスで見つからなかったため、要求されたファイルを開けなかったため、操作は失敗しました。

JET_errInvalidParameter

指定されたパラメーターの 1 つに予期しない値が含まれていたか、別のパラメーターの値と組み合わせたときに意味のない値が含まれていました。 これは 、JetExternalRestore で発生する可能性があります。 szTargetCheckpointPathszTargetInstanceLogPath の両方が指定されていないか、両方が指定されていない場合などです。 つまり、これらは一致する必要があり、両方を指定するか、両方を指定しない必要があります。

JET_errInvalidPath

指定したパスが見つからなかったため、操作に失敗しました。

JET_errOutOfMemory

完了するのに十分なメモリを割り当てられなかったため、操作は失敗しました。

JET_errRestoreOfNonBackupDatabase

このエラーは、復元時に指定されたデータベース ファイルが、外部バックアップでバックアップされたデータベースではない場合に返されます。

JET_errRunningInOneInstanceMode

データベース エンジンは、単一インスタンス モードで外部復元またはハード 回復を実行できません。 このエラーは、Windows XP 以降でのみ返されます。

JET_errStartingRestoreLogTooHigh

このエラーは、 szBackupLogPath 内のいずれかのログ ファイルに genLow または pLogInfo.ulGenLow で指定されたログ生成が存在する場合に返されます。

成功すると、rgrstmap からのすべてのデータベースが完全に復旧され、クリーンまたは一貫性のある状態になります。 この時点で、データベースを既存のインスタンスに再マウントできます。

障害が発生した場合、エンジンはデータベースを復旧できませんでした。 データベースが無効な状態であり、ハード 回復を再試行するには、データベース全体を再度復元する必要があります。 通常、このような状況の原因は、ディスクまたはログの破損、または他の形式のログ管理の誤り、または非連続ログ セットです。

注釈

「JetExternalRestore」を参照してください。

要件

要件

Client

Windows Vista または Windows XP が必要です。

[サーバー]

Windows Server 2008 または Windows Server 2003 が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

Unicode

JetExternalRestore2W (Unicode) および JetExternalRestore2A (ANSI) として実装されます。

参照

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit