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

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

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

キー 説明
QueueDatabasePath キュー データベース ファイルの場所を指定します。 以下のファイルがあります。
  • Mail.que
  • Trn.chk

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

QueueDatabaseLoggingPath キュー データベース トランザクション ログ ファイルの場所を指定します。 以下のファイルがあります。
  • Trn.log
  • Trntmp.log
  • Trn nnn.log
  • Trnres00001.jrs
  • Trnres00002.jrs
  • Temp.edb

なお、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 Online、Exchange Online Protection。 必要な作業 シェルを使用して送信者フィルターを有効または無効にする

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

  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.log、Trntmp.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb ファイルが新しい場所に存在することを確認します。

  3. Exchange トランスポート サービスの起動後に以前のキュー データベースとトランザクション ログ ファイルを以前の場所から削除可能な場合、それらのキュー データベースはそれ以降使用されません。

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

注:

キュー データベースとトランザクション ログを移動するスクリプトもあります。これは %ExchangeInstallPath%Scripts フォルダーにあり、Move-TransportDatabase.ps1と呼ばれます。 queueDatabasePath、queueDatabaseLoggingPath、iPFilterDatabasePath、iPFilterDatabaseLoggingPath、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.log、Trntmp.log、Trn nnnnn.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb を古い場所から新しい場所に移動します。

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

    net start MSExchangeTransport
    

正常な動作を確認する方法

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

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

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

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