2010-11-27 7 views
3

ESENTデータベースの完全バックアップを作成するコードをJetBeginExternalBackup APIを使用して記述しました。外部ESENTバックアップを完全に復元する

MSDNのガイドラインに従って、私はJetGetAttachInfoとJetGetLogInfoから返されたすべてのファイルをバックアップしました。

私はバックアップを作成し、古いデータベースを消去し、バックアップデータをデータベースフォルダにコピーしました。 DBエンジンを起動できませんでした.JETInitエラーコードは "JET_errMissingLogFile"です。

私はバックアップをチェックしました。データベースファイルのみが含まれており、 "<inst> XXXXX.log"というログファイルが含まれています。現在のログファイルがありません(私は循環ログを使用しています、BTW)。

このようなバックアップを復元する方法はありますか?

複雑すぎるためJetExternalRestore APIを使用したくない:私は別の場所に復元する必要はないが、なぜ2つではなく3つの入力フォルダがあるのか​​理解できない。わからないgenLowおよびgenHigh引き数に指定する値。

外部バックアップが必要です:ESENTデータベースは、リモートサーバー上のASP.NETで使用されています。私はインターネット経由でバックアップしています。

または、現在のログファイルの名前を取得する方法があります。バックアップに追加するだけですか?

ありがとうございます!

P.S. Webサーバー上のプロセスをまたがる権限がないため、eseutil.exeを使用することはできません。

答えて

0

すべてのバックアップファイルを単一のフォルダに解凍します。

メインデータベースファイルの名前を使用してください。拡張子を.patに置き換えてください。その名前のゼロ長ファイルを作成します。 database.pat

この簡単な手順の後、JetRestoreInstance APIを呼び出して、そのフォルダからバックアップを復元します。