3

JetBeginExternalBackup APIを使用して、ESENTデータベースの完全バックアップを作成するコードを作成しました。

MSDNガイドラインに従って、JetGetAttachInfoおよびJetGetLogInfoによって返されるすべてのファイルをバックアップしました。

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

バックアップを確認しましたが、データベースファイルと「<inst>XXXXX.log」ログファイルのみが含まれています。現在のログファイルがありません(循環ログを使用しています、ところで)。

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

JetExternalRestore APIは複雑すぎるため、使用したくありません。別の場所に復元する必要がなく、2つではなく3つの入力フォルダーがある理由がわかりません。また、提供する値がわかりません。 genLowおよびgenHigh引数で。

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

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

前もって感謝します!

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

4

1 に答える 1

0

バックアップされたすべてのファイルを1つのフォルダーに解凍します。

メインデータベースファイルの名前を取ります。拡張子をに置き換え.patます。その名前で長さゼロのファイルを作成します。例:database.pat

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

于 2016-05-21T02:15:53.367 に答える