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

製品: Exchange Server 2013

キューは、処理の次の段階に入るのを待機しているメッセージの一時的な保持場所です。 各キューは、トランスポート サーバーが特定の順序で処理するメッセージの論理セットを表します。

以前のバージョンの Exchange と同様に、Microsoft Exchange Server 2013 では、キュー メッセージ ストレージに拡張記憶域エンジン (ESE) データベースが使用されています。 さまざまなキューはすべて 1 つの ESE データベースに格納されます。 キューは、メールボックス サーバーまたはエッジ トランスポート サーバーにのみ存在します。

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

キー 説明
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 は、Microsoft Exchange トランスポート サービスの開始時にキュー データベース スキーマを確認するために使用されます。 Temp.edb はトランザクション ログ ファイルではありませんが、トランザクション ログ ファイルと同じ場所に格納されます。

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

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

  • 予想所要時間 : 15 分。

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

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

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

  • キュー データベースまたはトランザクション ログのターゲット フォルダーが存在しない場合は、親フォルダーに次のアクセス許可が適用されている場合に自動的に作成されます。

    • ネットワーク サービス :フル コントロール
    • システム :フル コントロール
    • 管理者 :フル コントロール
  • Exchange XML アプリケーション構成ファイルで行うカスタマイズ済みのサーバーごとの設定 (クライアント アクセス サーバーの web.config ファイルまたはメールボックス サーバーの EdgeTransport.exe.config ファイルなど) は、Exchange 累積更新プログラム (CU) のインストール時に上書きされます。 インストール後にサーバーを簡単に再構成できるように、この情報を保存してください。 Exchange CU をインストールした後、これらの設定を再構成します。

  • このトピックの手順で使用可能なキーボード ショートカットについては、「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 に新しいキュー データベースを作成し、D:\Queue\QueueLogs に新しいトランザクション ログを作成するには、次の値を使用します。

    <add key="QueueDatabasePath" value="D:\Queue\QueueDB" />
    <add key="QueueDatabaseLoggingPath" value="D:\Queue\QueueLogs" />
    
  4. 完了したら、EdgeTransport.exe.config ファイルを保存して閉じます。

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

    net stop MSExchangeTransport && net start MSExchangeTransport
    

これが機能したことをどのように知っていますか?

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

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

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

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

問題がある場合は、 Exchange のフォーラムで質問してください。 Exchange Serverのフォーラムにアクセスしてください。

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

Microsoft Exchange トランスポート サービスが正しくシャットダウンされなかった、またはハード ディスク ドライブの障害が発生したディザスター リカバリーシナリオでのみ、既存のキュー データベースとその既存のトランザクション ログを復元して再配置する必要があります。

通常の状況では、既存のトランザクション ログを再利用する必要はありません。 Microsoft 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 に変更し、トランザクション ログを D:\Queue\QueueLogs に変更するには、次の値を使用します。

    <add key="QueueDatabasePath" value="D:\Queue\QueueDB" />
    <add key="QueueDatabaseLoggingPath" value="D:\Queue\QueueLogs" />
    
  4. 完了したら、EdgeTransport.exe.config ファイルを保存して閉じます。

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

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

  7. 既存のトランザクション ログ ファイル Trn.log、Trntmp.log、Trn_nnnnn_.log、Trnres00001.jrs、Trnres00002.jrs、Temp.edb を古い場所から新しい場所に移動します。

  8. 次のコマンドを実行して、Microsoft Exchange トランスポート サービスを開始します。

    net start MSExchangeTransport
    

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

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

  1. キュー データベース ファイル Mail.que と Trn.chk が新しい場所に存在することを確認します。
  2. トランザクション ログ ファイル Trn.log、Trntmp.log、Trnres00001.jrs、Trnres00002.jrs、Temp.edb ファイルが新しい場所に存在することを確認します。
  3. 元の場所にキュー データベースまたはトランザクション ログ ファイルがないことを確認します。

問題がある場合は、 Exchange のフォーラムで質問してください。 Exchange Serverのフォーラムにアクセスしてください。