次の方法で共有


JetEndExternalBackupInstance2 関数

適用対象: Windows |Windows Server

JetEndExternalBackupInstance2 関数

JetEndExternalBackupInstance2 関数は、外部バックアップ セッションを終了します。 この API は、オンライン (VSS ベースではない) バックアップを正常に実行するために呼び出す必要がある一連の API の最後の API です。

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

    JET_ERR JET_API JetEndExternalBackupInstance2(
      __in          JET_INSTANCE instance,
      __in          JET_GRBIT grbit
    );

パラメーター

instance

この呼び出しに使用するインスタンス。

Windows 2000: Windows 2000 では、1 つのインスタンスのみがサポートされているため、このパラメーターを受け入れる API バリアントは使用できません。 この場合、この 1 つのグローバル インスタンスの使用が暗黙的に示されます。

Windows XP: Windows XP 以降のリリースでは、このパラメーターを受け入れない API バリアントは、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) の場合にのみ呼び出すことができます。 それ以外の場合、操作はJET_errRunningInMultiInstanceModeで失敗します。

grbit

次のオプションの 0 個以上を指定するビットのグループ。

説明

JET_bitBackupEndAbort
0x0002

クライアント アプリケーションがバックアップを中止しています。

JET_bitBackupEndNormal
0x0001

クライアント アプリケーションはバックアップを完全に完了し、正常に終了します。

JET_bitBackupTruncateDone
0x0100

Windows Vista: JET_bitBackupTruncateDoneは Windows Vista で導入されています。

切り捨ての呼び出しが完了していない場合でも、エンジンはデータベース ヘッダーを適切にマークできます (完全バックアップが完了した場合など)。

戻り値

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

リターン コード

説明

JET_errSuccess

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

JET_errBackupAbortByCaller

Windows XP: この戻り値は、Windows XP で導入されています。

呼び出し元は、 JetStopBackup で意図を通知せずに、バックアップ シーケンスの途中でバックアップを終了しました。 このエラーは、Windows Server 2003 以降のバックアップ クライアントのバグの結果です。 Windows XP では、外部バックアップ シーケンスを意図的に終了すると、このエラーが返されます。

JET_errBackupAbortByServer

Windows Server 2003: この戻り値は、Windows Server 2003 で導入されています。

JetStopBackup の呼び出しによって現在の外部バックアップが中止されたため、操作に失敗しました。

JET_errClientRequestToStopJetService

JetStopService の呼び出しの結果、セッションに関連付けられているインスタンスのすべてのアクティビティが停止したため、操作を完了できません。

JET_errInstanceUnavailable

Windows XP: この戻り値は、Windows XP で導入されています。

セッションに関連付けられているインスタンスで、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要がある致命的なエラーが発生したため、操作を完了できません。

JET_errNoBackup

外部バックアップが進行中でないため、操作は失敗しました。

JET_errNotInitialized

セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。

JET_errRestoreInProgress

セッションに関連付けられているインスタンスで復元操作が進行中のため、操作を完了できません。

JET_errRunningInMultiInstanceMode

実際には複数のインスタンスが既に存在する場合、1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) でエンジンを使用しようとしたため、操作は失敗しました。

JET_errTermInProgress

セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。

関数が成功した場合、外部バックアップは成功しました。 成功は、バックアップの種類 ( JetBeginExternalBackup で指定) に適したすべてのファイル (データベースやログなど) がバックアップ エンジンから取得されたことを示します。 バックアップされたファイルは、ハード 回復 (JetExternalRestore) を使用して回復できます。

この関数が失敗した場合、外部バックアップは通常終了します。 エラーは、クライアントまたはアプリケーションの使用エラーが原因でバックアップが無効であることを意味します。 バックアップ シーケンスが成功したことを確認するには、この API のリターン コードをチェックすることが重要です。

解説

エンジンがイベントをログに記録するように構成されている場合は、外部バックアップの解決を示すイベントがログに記録されます。

バックアップ シーケンスが順番に完了せず、 JetEndExternalBackup の呼び出しが成功した場合、後続の増分バックアップには、予想されるアプリケーションよりも多くのデータが含まれている可能性があります。

外部バックアップ API シーケンスの詳細については、「 JetBeginExternalBackup」を参照してください。

Windows Vista より前では、ログの切り捨てが行われなかった場合、エンジンはバックアップがコピー バックアップであると見なしました。 ただし、バックアップは、切り捨てが行われなかった通常のバックアップである可能性があります (たとえば、デタッチされたデータベースがある場合)。 JET_bitBackupTruncateDone オプションを使用すると、このことについてエンジンに通知し、適切なデータベース ヘッダーの変更を許可できます。

必要条件

要件

Client

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

[サーバー]

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

Header

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

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

参照

エラー処理パラメーター
拡張可能なストレージ エンジン エラー
JET_ERR
JET_GRBIT
JetAttachDatabase
JetBeginExternalBackup
JetBeginExternalBackupInstance
JetCloseFile
JetExternalRestore
JetGetAttachInfo
JetGetLogInfo
JET_INSTANCE
JetOpenFile
JetReadFile
JetStopBackup
JetStopService
JetTruncateLog