Exchange 2013 のデータベースを復元する

Exchange 2013 データベースを復元するさまざまな方法について説明します。

製品: Exchange Server 2013

Exchange Server 2013 に含まれる Exchange ライターを使用すると、Exchange データベースを復元する方法を柔軟に行うことができます。 Exchange 2013 で Exchange ライターを使用すると、シャドウ コピー バックアップを次の場所に復元できます。

  • 元のデータベース。データベースやトランザクション ログ ファイルのパス構成が変更されているかどうかは関係ありません。

  • 回復用データベース。

  • 実稼働データベース。データベースの表示名が VSS バックアップ セットの名前と一致しているかどうかは関係ありません。

復元アプリケーションで元のデータベースに情報を復元する場合は、そのデータベースに対して Active Directory ドメイン サービス (AD DS) で指定されたディレクトリ パスにログ ファイルが復元されている必要があります。 復元アプリケーションで別の場所にデータベースを復元する場合は、データベース ログ ファイルのディレクト内に配置された _restoredLogs という名前のフォルダーにログ ファイルが復元されている必要があります。

元のデータベースとは別のサーバーまたはデータベースに復元する場合は、VSS に指定されたデータベース ディレクトリのパスが AD DS のパスと一致していることを復元アプリケーションで確認する必要があります。 get-MailboxDatabaseExchange Management Shell コマンドレットを使用して、既存のデータベースに関する情報を取得できます。 Exchange 管理シェルの詳細については、「Exchange サーバー PowerShell (Exchange 管理シェル) 」を参照してください。

次の図は、ボリューム シャドウ コピー サービス (VSS) で管理されている Exchange データベースの一般的な復元でのイベントのシーケンスを示しています。

図 1. データベースを復元するためのイベントのシーケンス

復元プロセスのイベント シーケンスを示す図。シーケンスは、Exchange ストアの起動から始まり、Exchange ライター、VSS、およびクライアント アプリケーションの間での多くのステップが続きます。

元の場所への Exchange データベースの復元

Exchange ライターにより、アプリケーションで Exchange サーバー上のデータベースとトランザクション ログ ファイルをそれぞれの元の場所に復元できます。 既定では、Exchange ライターは、要求元が OnPostRestore 操作中に復元が完了したことを確認した後、トランザクション ログ ファイルを再生します。 復元アプリケーションでは、ログ ファイルが再生されないように VSS SetAdditionalRestores メソッドを使用する必要があります。 このログ ファイルは、復元したデータベースを Exchange 管理者またはアプリケーションが再マウントするときに後から再生できます。

データベースを元のデータベース オブジェクト (データベースのターゲット GUID とバックアップ セットの GUID が同じになるもの) に復元するときに、ファイル パスを別のものにする場合は、アプリケーションで現在のファイル パスを判断して、それに対応するデータベースのプロパティで指定されたファイル パスにバックアップ ファイルを復元する必要があります。 要求元は AddNewTarget メソッドを呼び出して、書き込み元が復元プロセスの残りの部分を続行する前に、ファイルが復元される場所を Exchange ライターに伝える必要があります。 AddNewTarget が呼び出されていないと、Exchange ライターはバックアップがバックアップ メタデータ ドキュメントで指定されたファイル パスに復元されると想定します。

通常、カスタムのアプリケーションでは、データベース可用性グループ (DAG) のコピーから実行するバックアップに新しいパスを指定する必要はありません。 Exchange 管理者は、通常はデータベースやログ ファイルのパスを変更しません。 ただし、DAG 構成では、アクティブなデータベースとログのパスをバックアップ アプリケーションで指定することが必要になることがあります (それらのパスと DAG コピーのパスは常に異なるため)。

Exchange 2013 では、非アクティブな DAG データベース コピーの復元はサポートされていないことに注意してください。 DAG コピーは、アクティブなデータベース コピーが復元された場合にのみ、バックアップ データから復元できます。 異なるバックアップ・データ・セットを使用したり、データベース・コピーのサブセットを復元しようとすると、データベースがマウント不能になる可能性があります。 この場合、バックアップ アプリケーションは SetRestoreOptions 関数を呼び出す必要はありません。バックアップは、作成元の元のデータベース オブジェクトに復元されるためです。 ただし、バックアップ アプリケーションが SetRestoreOptions を 呼び出し、XML メタデータ ドキュメントに正しいパラメーターがある場合、結果はエラーになりません。

Exchange データベースの回復用データベースへの復元

Exchange ライターを使用すると、回復用のデータベースに直接データを復元できるようになります。 回復したデータを回復用データベースとしてマウントすると、Exchange 管理者は個々のメールボックス (メールボックス内の個々のアイテムも) 復元できます。

回復用データベースが既に存在する場合、アプリケーションでデータベースのマウントを解除し、データを回復用データベースとログ ファイルに復元して、データベースを再度マウントできます。

各 Exchange 2013 サーバーでは、一度にマウントできる回復データベースは 1 つだけです。 サーバーにはディスク容量に余裕がある限り多くの回復されたデータベースを格納できますが、回復用データベースとしては 1 つのみがマウントできます。 回復用データベースとしてマウントされたデータベースは、同時にマウントできるデータベースの最大数にカウントされます。 サーバーの回復データベースとしてマウントされた復旧されたデータベースは、元のメールボックスに関連付けされません。

復旧データベースに復旧するには、アプリケーションで SetRestoreOptions メソッドを呼び出し、ソース データベースとターゲット データベース GUID を示す XML ドキュメントを提供する必要があります。 ソースの GUID はバックアップ セットの GUID と一致する必要があり、ターゲットの GUID は AD DS の復元先データベースのエントリと一致している必要があります。 バックアップ アプリケーションは、ファイルの復元先のディレクトリ パスを指定するために AddNewTarget メソッドも呼び出す必要があります。 データベース ファイルの名前を変更する必要がある場合、Exchange ライターは OnPostRestore 操作中にデータベースの名前を変更します。 Exchange では、トランザクション ログ ファイルを現在のトランザクション ログ ファイル パスのサブフォルダー ( _restoredLogs) に復元する必要があります。 このログ ファイルが別の場所に復元されると、Exchange ライターはエラーを返します。 回復用データベースとしてマウントされるデータベースは元の場所には復元されないため、マウントする前にクリーン シャットダウン状態にする必要があります。 既定では、Exchange ライターは、復元したすべてのデータベースを復元後の手順でクリーン シャットダウン状態にします。 バックアップ アプリケーションが SetAdditionalRestores メソッドを呼び出した場合、Exchange ライターはログ ファイルを再生しません。管理者またはバックアップ アプリケーションは、データベースをマウントする前に、データベースをクリーン シャットダウン状態にする必要があります。

Exchange データベースの回復用サーバーへの復元

一部のシナリオでは、バックアップ セットを別のサーバーに回復する必要がある場合があります。たとえば、メールボックス データベースを同じ Exchange 組織内の別の Exchange 2013 サーバーに移植したり、運用環境外の専用サーバーに復元してメールボックスとパブリック フォルダーのデータを回復したりすることで、致命的なサーバー障害から回復する必要がある場合があります。

このようなシナリオでは、ターゲット データベースのファイル パスとオブジェクト GUID は、どちらも元のものとは異なります。 そのため、アプリケーションでは、ソースとターゲットのデータベース情報を示す XML ドキュメントで SetRestoreOptions メソッドを呼び出し、 AddNewTarget メソッドを呼び出して、バックアップ ファイルを復元するディレクトリ パスを指定する必要があります。 Exchange ライターの場合、この復元は、回復用データベースへの復元と同じになります。 詳細については、この記事 の「Exchange データベースを復旧データベースに復元する 」を参照してください。

関連項目