Eseutil /R 回復モード

 

回復とは、トランザクション ログ ファイルをデータベースに再生するプロセスを指します。回復には以下の 2 種類があります。

  • ハード リカバリ   オンライン バックアップからデータベースを復元した後に行われるトランザクション ログの再生処理。
  • ソフト リカバリ   予期しない停止が発生した後でデータベースが再マウントされるとき、またはトランザクション ログが再生されてデータベースのオフライン ファイル コピーのバックアップに書き込まれるときに発生する、トランザクション ログ ファイルの再生処理。

ハード リカバリとソフト リカバリの詳細については、Exchange 2003 のソフト リカバリとハード リカバリについてのページ (https://go.microsoft.com/fwlink/?linkid=68147) を参照してください (このサイトは英語の場合があります)。

Eseutil を回復モードで実行する手順の詳細については、「回復モードで Eseutil /R を実行する方法」を参照してください。

ハード リカバリ

ハード リカバリは、復元されたオンライン バックアップにトランザクション ログ ファイルを再生する必要がある場合に実行します。その他のすべての回復シナリオでは、ソフト リカバリが実行されます。ハード リカバリは、Eseutil で復元モード (/C) を使用することにより実行できます。

ソフト リカバリ

既定のソフト リカバリ シナリオでは、外部イベントにより Exchange データベースが突然停止しても、データベースとログ ファイルは破損せずに残ります。データベースが再マウントされると、Exchange ではチェックポイント ファイルが読み込まれ、チェックポイント ログとして記載されているトランザクション ログの再生が開始されます。チェックポイント ファイルが存在しない場合は、ストレージ グループのトランザクション ログ フォルダ内で利用可能な最も古いログ ファイルを使って再生が開始します。

Exchange では、ログ ファイルに記載されている完了したトランザクションで、まだデータベース ファイルに書き込まれていないものがデータベース ファイルに書き込まれるため、未完了のトランザクションがなくなります。トランザクションに含まれるすべての処理がログ ファイルに書き込まれるまで、そのトランザクションはデータベース ファイルに書き込まれません。予期しない停止が発生したときに存在した、コミットされていないすべてのトランザクション ログが再生開始時に存在する場合、データベースでトランザクションを物理的に元に戻したり取り消したりする必要はありません。

important重要 :
ソフト リカバリ処理では、障害によって、または障害後に管理者によって、データベースやログ ファイルが移動、削除、または破壊されていないことを想定しています。

バージョン間の相違点

Eseutil は常に強化されており、バージョンごとに機能が追加されています。現在は、次に示す Exchange の 3 つの主要なバージョンごとに Eseutil /R の 3 つの主要なバージョンが存在します。

  • Exchange Server version 5.5
  • Exchange 2000 Server
  • Exchange Server 2003

Exchange Server 5.5

Microsoft® Exchange 2000 Server および Microsoft® Exchange Server 2003 の Eseutil でのソフト リカバリのコマンド ライン構文は、Exchange 5.5 で使用されるものとは異なります。Eseutil を使用して手動でソフト リカバリを実行する場合の規則やベスト プラクティスも変更されています。

  • Exchange 5.5 では、Eseutil でソフトウェア リカバリを実行する理由はほとんどありません。インフォメーション ストアが起動されるたびに、ソフト リカバリが自動的に、しかも正しく実行されます。Exchange 5.5 の場合、Eseutil のソフト リカバリ機能は、Exchange がインストールされていないサーバー上でのデータベースの回復が必要になる可能性のあるテスト環境を対象にしていました。
  • Exchange 5.5 での Eseutil /R の実行には大きなリスクが存在します。オンライン バックアップを復元した後にソフト リカバリを実行すると通常、データベースが破損します。オンライン バックアップには、ソフト リカバリではなくハード リカバリが必要になります。
  • 次の 2 つの条件が共に満たされている場合のみ、Exchange 5.5 以前のバージョンでハード リカバリの代わりにソフト リカバリを安全に実行できます。
    • バックアップの完了以降、データベース パスが変更されていない。
    • オンライン バックアップ セットの .pat ファイルのサイズが正確に 8 KB である (つまり、2 つのヘッダー ページだけで構成され、実際のデータベース ページは含まれていない)。
      その他のすべての状況では、ハード リカバリの代わりにソフト リカバリを実行すると, .pat ファイルのサイズに比例してデータベースが破損します。
    note注 :
    .pat ファイルのバイト サイズを 4,096 で割った結果から 2 を引いた値が、誤ってソフト リカバリを実行した後のデータベース内にある論理的に破損したページの数です。

Exchange 2000 Server

Exchange 2000 では、ハード リカバリが必要な場合はソフト リカバリが決して実行されないようにするための保護手段が実装されました。

Eseutil でのソフト リカバリの実行には、別のリスクも存在します。Exchange 2000 または Exchange 2003 には、このリスクがまだ存在しています。つまり、ログ ファイル、チェックポイント ファイル、またはデータベース ファイルへのパスを誤って指定すると、回復によってデータベースまたはログ ファイルが変更され、回復を再び実行できなくなる可能性があります。

Eseutil は、回復を実行しようとしたときに既存のトランザクション ログ ファイルが見つからない場合、新しいトランザクション ログ ファイルを作成し、データベースをそのファイルにアタッチしようとします。データベースが不整合またはダーティ シャットダウン状態にあると、そのデータベースは起動できなくなります。データベースが整合状態にある場合は、アタッチされた後、新しいログ ファイルから切り離されます。

どちらの場合も、データベースの変更またはサーバーへのログ ファイルの追加によって、データベースが起動できなくなったり、それ以降の回復のトラブルシューティングで混乱が発生したりする可能性があります。

note注 :
Eseutil による回復で正常終了が報告されても、回復されたデータベースがマウント可能な状態にあるとは限りません。現在使用可能なすべてのトランザクション ログ データがデータベース ファイルに適用された場合、回復は常に正常に終了します。回復の正常終了の報告には、使用可能なデータがデータベースを整合状態に復元するために十分かどうかの情報は含まれていません。

Exchange 5.5 では、ほぼ常に、ファイルを適切な場所に配置してから、インフォメーション ストアを起動して回復を実行することが適切な方法でした。Exchange 2003 では、Eseutil の回復機能に対して、データベースをマウントして回復を実行する方法と比較して重要な利点を備えた 2 つの機能強化が行われています。

  • Eseutil は、データベースの 1 つが紛失している場合でも、回復を強制的に完了できます。この機能は、Exchange 2000 でも使用できます。

  • ストレージ グループが予期せず停止した場合は、その時点で実行されていたすべてのデータベースがダーティ シャットダウン状態で不整合になります。ストレージ グループが停止した理由が、データベース ドライブに突然障害が発生し、ドライブがアクセス不能になったためだとします。この場合は、いずれかのデータベースが紛失しています。

  • データベースの紛失中に回復を実行する場合は、ドライブが再びアクセス可能になったときにその 1 つのデータベースで回復が正常に完了しないように、トランザクション ログの状態を変更することができます。

    note注 :
    バックアップからデータベースを復元する場合は、回復は正常に完了できます。このシナリオは、突然の停止時に現在のログにアタッチされていたデータベースの回復にのみ適用されます。
  • 失われたデータベースが回復されないことがわかっている場合は、最初に、紛失しているデータベースをバックアップから復元することなく、Eseutil /I (無視) スイッチを使用してストレージ グループ内の残りのデータベースを回復することができます。

このスイッチを使用してストレージ グループ内の残りの部分に対して回復を実行する前に、まず、現在のログ (Enn.log) を含め、すべてのトランザクション ログ ファイルのバックアップを作成する必要があります。現在のログとその他のすべてのログのコピーを保持することによって、紛失しているデータベースを、それが予期せず使用可能になった場合でも回復できます。データベースの残りの部分を回復し、より多くの情報が Enn.log に書き込まれた後は、そのログ ファイルを使用して、紛失しているデータベースを回復できなくなる場合があります。

Exchange Server 2003

Eseutil の回復では、別のパスの場所に移動されたデータベースを回復することができます。この機能は、Exchange 2003 でのみ使用できます。

これまで、バックアップの実行以降に Exchange データベースが別のパスの場所に移動されている場合でも、ハード リカバリは常に正しく完了することができました。しかし、ソフト リカバリは Exchange 2003 まで、データベース ファイルが再生対象のトランザクション ログ ファイルで定義されているのと同じドライブ パスにある場合のみ動作できました。

Exchange 2003 では、回復モードに /D スイッチが追加され、トランザクション ログ ファイルにハードコードされているデータベース パスを上書きできるようになりました。この新しい機能は、データベースのオフライン コピーを回復用ストレージ グループに復元する場合や、上のシナリオで説明した "紛失している" データベースを回復する場合に特に有効です。

現在は、データベースおよびトランザクション ログのグループを任意のフォルダにコピーし、ソフト リカバリを正常に実行することができます。データベースが整合状態になったら、そのデータベースを他の任意のパスに移動し、別のログ ストリームにアタッチすることができます。

詳細情報

詳細については、『Exchange Server データベース ユーティリティ ガイド』の以下のトピックを参照してください。