Exchange Server のキュー データベースの場所を変更する

適用対象: yes-img-162016 yes-img-192019 yes-img-seサブスクリプション エディション

Exchange Server は、キュー メッセージのストレージに拡張記憶域エンジン (ESE) データベースを使用します。 さまざまなキューはすべて 1 つの ESE データベースに格納されます。 キューは Exchange メールボックス サーバーとエッジ トランスポート サーバー上に存在します。 キューの詳細情報については、Queues and messages in queues を参照してください。

%ExchangeInstallPath%Bin\EdgeTransport.exe.config XML アプリケーション構成ファイルのキーは、キュー データベースとキュー データベースのトランザクション ログの場所を制御します。 このファイルは、Exchange トランスポート サービスに関連付けられています。 次のリストで、各キーについて詳しく説明します。

  • QueueDatabasePath: キュー データベース ファイルの場所を指定します。 以下のファイルがあります。

    • Trn.log
    • Trntmp.log

    既定の場所は %ExchangeInstallPath%TransportRoles\data\Queue です。

  • QueueDatabaseLoggingPath: キュー データベースのトランザクション ログ ファイルの場所を指定します。 以下のファイルがあります。

    • Trn nnn.log
    • Trnres00001.jrs
    • Trnres00002.jrs
    • Temp.edb: このファイルは、Exchange トランスポート サービスの開始時にキュー データベース スキーマを確認します。 Temp.edb はトランザクション ログ ファイルではありませんが、トランザクション ログ ファイルと同じ場所に格納されます。

    既定の場所は %ExchangeInstallPath%TransportRoles\data\Queue です。

はじめに把握しておくべき情報

  • 予想所要時間 : 15 分。

  • Exchange アクセス許可は、この記事の手順には適用されません。 これらの手順は、Exchange サーバーのオペレーティング システムで実行されます。

  • Exchange トランスポート サービスを停止または再起動すると、サーバー上のメール フローは中断されます。

  • キュー データベースまたはトランザクション ログの場所を変更した場合、既存のキュー データベースとトランザクション ログ ファイルは移動されません。 新しいキュー データベースと新しいトランザクション ログが新しい場所に作成されます。 以前のファイルは以前の場所に残りますが、それらは今後使用されません。 以前のキュー データベースまたはトランザクション ログ ファイルを新しい場所で再利用する場合は、Exchange トランスポート サービスが停止している間に、ファイルを新しい場所に移動する必要があります。

  • キュー データベースとトランザクション ログのフォルダーには、次のアクセス許可が必要になります。

    • ネットワーク サービス :フル コントロール

    • システム :フル コントロール

    • 管理者 :フル コントロール

      このフォルダーが存在せず、親フォルダーにこれらのアクセス許可がある場合、新しいフォルダーが自動的に作成されます。

  • Exchange サーバー上の Exchange XML アプリケーション構成ファイル (web.config ファイルや EdgeTransport.exe.config ファイルなど) で設定したカスタマイズされた Exchange またはインターネット インフォメーション サーバー (IIS) 設定は、Exchange 累積的な更新プログラム (CU) をインストールすると 上書きされます 。 インストール後に設定を簡単に再適用できるように、この情報を保存してください。 Exchange CU をインストールした後、これらの設定を再構成する必要があります。

  • この記事の手順に適用される可能性があるキーボード ショートカットについては、「 Exchange 管理センターのキーボード ショートカット」を参照してください。

ヒント

問題がある場合は、 Exchange の Exchange Server フォーラムでヘルプを依頼する |Exchange Server |管理

コマンド プロンプトを使用して新しいキュー データベースとトランザクション ログを新しい場所に作成する

  1. キュー データベースとトランザクション ログを保持するフォルダーを作成します。 そのフォルダーに適切なアクセス許可が適用されていることを確認します。

  2. コマンド プロンプト ウィンドウで、次のコマンドを実行して、EdgeTransport.exe.config ファイルをメモ帳で開きます。

    Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
    
  3. [ <appSettings> ] セクションで次のキーを見つけて変更します。

    <add key="QueueDatabasePath" value="<LocalPath>" />
    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    たとえば、D:\Queue\QueueDB に新しいキュー データベースとトランザクション ログを作成するには、次の値を使用します。

    <add key="QueueDatabasePath" value="D:\Queue\QueueDB" />
    <add key="QueueDatabaseLoggingPath" value="D:\Queue\QueueDB" />
    

    完了したら、EdgeTransport.exe.config ファイルを保存して閉じます。

  4. 次のコマンドを実行して、Exchange トランスポート サービスを再起動します。

    net stop MSExchangeTransport && net start MSExchangeTransport
    

新しい場所に新しいキュー データベースと新しいトランザクション ログが正常に作成されたことはどうしてわかりますか?

新しい場所に新しいキュー データベースと新しいトランザクション ログが正常に作成されたことを確認するには、次の手順を実行します。

  1. 新しいデータベース ファイル Mail.que および Trn.chk が新しい場所に存在することを確認します。

  2. 新しいトランザクション ログ ファイル Trn.logTrntmp.logTrnres00001.jrsTrnres00002.jrs、および Temp.edb ファイルが新しい場所に存在することを確認します。

  3. Exchange トランスポート サービスの開始後に古いキュー データベースとトランザクション ログ ファイルを古い場所から削除できた場合、古いキュー データベースは使用されません。

コマンド プロンプトを使用して既存のキュー データベースとトランザクション ログを新しい場所に移動する

注:

%ExchangeInstallPath%Scripts フォルダーには、キュー、データベース、トランザクション ログを移動するための Move-TransportDatabase.ps1 という名前のスクリプトもあります。 次のパラメータを指定する必要があります: queueDatabasePathqueueDatabaseLoggingPathiPFilterDatabasePathiPFilterDatabaseLoggingPath、およびtemporaryStoragePath

既存のキュー データベースを移動して未配信のメッセージを保持する必要がありますが、次の理由により、通常は既存のトランザクション ログを移動する必要はありません。

  • 通常、Exchange トランスポート サービスをシャットダウンすると、コミットされていないすべてのトランザクション ログ エントリがキュー データベースに書き込まれます。

  • 循環ログが使用されるため、以前にコミットされたデータベースの変更を含むトランザクション ログは保存されません。

  1. キュー データベースとトランザクション ログを保持するフォルダーを作成します。 そのフォルダーに適切なアクセス許可が適用されていることを確認します。

  2. コマンド プロンプト ウィンドウで、次のコマンドを実行して、EdgeTransport.exe.config ファイルをメモ帳で開きます。

    Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
    
  3. <appSettings> セクションで次のキーを見つけて変更します。

    <add key="QueueDatabasePath" value="<LocalPath>" />
    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    たとえば、キュー データベースとトランザクション ログの場所を D:\Queue\QueueDB に変更するには、次の値を使用します。

    <add key="QueueDatabasePath" value="D:\Queue\QueueDB" />
    <add key="QueueDatabaseLoggingPath" value="D:\Queue\QueueDB" />
    

    完了したら、EdgeTransport.exe.config ファイルを保存して閉じます。

  4. 次のコマンドを実行して、Exchange トランスポート サービスを停止します。

    net stop MSExchangeTransport
    
  5. 既存のデータベース ファイルを Mail.que して Trn.chk 古い場所から新しい場所に移動します。

  6. 既存のトランザクション ログ ファイル Trn.logTrntmp.logTrn nnnnn.logTrnres00001.jrsTrnres00002.jrsTemp.edb を古い場所から新しい場所に移動します。

  7. 次のコマンドを実行して、Exchange トランスポート サービスを起動します。

    net start MSExchangeTransport
    

既存のキュー、データベース、およびトランザクション ログを新しい場所に正常に移動したことは、どうしてわかりますか?

既存のキュー データベースとトランザクション ログが新しい場所に正常に移動したことを確認するには、次の手順を実行します。

  1. キュー データベース ファイルの Mail.queTrn.chk が新しい場所に存在していることを確認します。

  2. トランザクション ログ ファイル Trn.logTrntmp.logTrnres00001.jrsTrnres00002.jrs、および Temp.edb ファイルが新しい場所に存在することを確認します。

  3. キュー データベースまたはトランザクション ログ ファイルが以前の場所にないことを確認します。