Share via


JetBackup 関数

適用対象: Windows |Windows Server

JetBackup 関数

JetBackup 関数は、データベースがオンラインの間にデータベースのバックアップを作成します。 この関数は、主に Windows 2000 以前のデータベース エンジンとの下位互換性を保つために使用され、データベースのインスタンスは 1 つだけ許可されます。 この場合、アクティブなインスタンスはバックアップされるインスタンスです。

    JET_ERR JET_API JetBackup(
      __in          JET_PCSTR szBackupPath,
      __in          JET_GRBIT grbit,
      __in          JET_PFNSTATUS pfnStatus
    );

パラメーター

szBackupPath

バックアップが格納されているディレクトリ。 バックアップ パスが NULL の場合、可能であれば、関数によってログが切り捨てられます。

grbit

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

説明

JET_bitBackupAtomic

データベースの完全バックアップを作成します。 これにより、新しいバックアップが失敗した場合に、同じディレクトリ内の既存のバックアップを保持できます。

JET_bitBackupIncremental

完全バックアップではなく増分バックアップを作成します。 つまり、最後の完全バックアップまたは増分バックアップ以降のログ ファイルのみがバックアップされます。

pfnStatus

バックアップ操作の進行状況に関する通知情報を提供する、 JET_PFNSTATUS コールバック関数へのポインター。

戻り値

関数は、 JET_ERR エラー コードのいずれかを返します。 最も一般的に返されるのは次のとおりです。 (この API のエラーの完全な一覧については、「 拡張ストレージ エンジンのエラー コード」を参照してください)。

リターン コード

説明

JET_errSuccess

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

JET_errBackupInProgress

同じインスタンスのバックアップは既に進行中です。 複数のバックアップを同時に使用することはできません。

JET_errBackupNotAllowedYet

インスタンスは初期化中のため、まだバックアップの準備ができていません。

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

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

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

JET_errInvalidBackup

循環ログがオンになっている場合、増分バックアップは許可されません。

JET_errInvalidGrbit

指定したオプションが無効です。

JET_errInvalidParameter

無効なパラメーターが API に渡されました。

JET_errInvalidPath

宛先パスが存在しません。

JET_errLoggingDisabled

インスタンスはログ記録なしで実行されています。 バックアップは許可されません。

JET_errLogReadVerifyFailure

ログ ファイルにチェックサム検証エラーが発生しました。

JET_errLogWriteFail

予期しないエラーが発生したため、インスタンスのログ記録は一時的または完全に無効になっています。

JET_errNotInitialized

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

JET_errReadVerifyFailure

データベース ページでチェックサム検証エラーが発生しました。

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

同じセッションを複数のスレッドに同時に使用することはできません。

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

JET_errTermInProgress

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

関数が成功すると、バックアップの時点までの復元に必要なすべてのファイルがバックアップ ディレクトリに格納されます。 これが完全バックアップの場合、ファイルはデータベース ファイルと、データベースを一貫した状態にするために必要なログ ファイルになります。 増分バックアップの場合は、ログ ファイルのみがディレクトリに追加されますが、既存のファイル (データベースとログ ファイル) と新しいログ ファイルを復元して、バックアップが開始された時点の状態に戻すことができます。

バックアップの副作用として、不要になったログ ファイルは切り捨てられます。

同時に、データベース ヘッダーは、最後のバックアップが行われたときに情報で更新されます。

関数が失敗した場合、バックアップ ディレクトリの宛先にファイルが存在しないため、復元できません。 同時に、現在のログ ファイルは切り捨てされません。

解説

バックアップのさまざまな手順では、ファイル名、ログの切り捨て、バックアップの最終的な結果など、イベント ログ エントリが生成されます。

増分バックアップは、完全バックアップが作成された後にのみ可能です。 また、増分バックアップは、循環ログがオフになっている場合にのみ可能です。 バックアップ ディレクトリには、バックアップで使用されたもの以外のファイルや、以前の正常なバックアップによって追加されたファイルを含めないことをお勧めします。

インスタンスにパラメーター JET_paramCreatePathIfNotExist が設定されていない限り、バックアップ ディレクトリが存在する必要があります。 詳細については、「 システム パラメーター」を参照してください。

バックアップでは、使用されているすべてのデータベース ページと Windows Server 2003 以降のログ ファイルでもチェックサム検証が行われます。 これにより、通常の操作中に読み取られないページであっても、データベースの正常性を見積もる機会が得られます。 このような破損が発生した場合、バックアップは失敗します。

バックアップ中に、現在のログ ファイルが完了し、新しいログが生成されます。 この方法では、現在のログが使用されなくなるため、必要なすべてのログ ファイルをコピーできます。

エンジン レベルでのバックアップと復元以外の目的でバックアップを使用しないことを強くお勧めします。 これにより、バックアップ操作と復元操作中にエラーが発生する可能性が最小限に抑えられます。

要件

要件

Client

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

[サーバー]

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

Header

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

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

Unicode

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

参照

拡張可能なストレージ エンジン ファイル
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
システム パラメーター