Summary: この投稿では、Exchange Server のメールキューファイルについて説明します。また、ファイルが大きくなりすぎた場合の管理方法についても説明します。また、ハードドライブの容量不足やその他の問題によってデータベースが破損した場合に、データベースからデータを復元するために使用できる特別なExchange修復ツールについても言及します。
Exchange Serverでは、mail.queはすべてのメールが宛先に送信される前に一時的に保存されるファイルです。これらは次の処理段階に移るのを待っている電子メールです。各キューは、トランスポートサーバーが指定された順序で処理するメッセージの論理的なセットを表します。
mail.queファイルは、ハブトランスポートサーバーの役割とエッジトランスポートの役割がインストールされているサーバーにのみ存在します。このファイルは Exchange Server トランスポートサービスフォルダーにあります。正確な場所は、Exchange Server のバージョンによって異なります。Exchange Server 2019 では、ファイルの場所は mail.que です:
C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue
mail.queファイルが大きくなることがあります。これは多くのメモリを消費します。キューファイルが数ギガバイトに達するケースもあります。十分な記憶容量があれば、これは問題ではありません。しかし、ストレージ容量が限られていたり、ハードドライブがいっぱいになっていたりすると、Exchange Serverで問題が発生する可能性があります。電子メールのトラフィックに影響を与えるだけでなく、Exchangeデータベースやトランザクションログの破損につながる可能性があります。以下では、mail.queファイルのサイズを確認し、管理する方法について説明します。
mail.queのファイルサイズを管理する方法を教えてください。
mail.queファイルが大きくなりすぎた場合は、ファイルを別の場所に移動したり、名前を変更したり、完全に削除したりすることができます。ただし、その前に、データが失われないことを確認する必要があります。メールキューファイルのサイズは、電子メールが処理されていないか、時間どおりに処理されていないことを示しています。したがって、Exchange Serverのキューを確認する必要があります。これを行うには、Exchange Management Shell(EMS)でPowerShellコマンドGet-Queueを実行します。
Get-Queue
次に、コマンドを実行してメッセージの数を決定する必要があります。メッセージの数が0より大きい場合、これはまだ処理されていないメッセージがキューにあることを意味します。
Get-Queue | Select-Object Identity, MessageCount
ここで、Microsoft Exchange Transport サービスを停止する必要があります。これを行うには、PowerShell ウィンドウを開き、以下のコマンドを実行します。
Suspend-Service MSExchangeTransport
これにより、保留中のオブジェクトを処理した後、サービスが停止します。その後、再度Get-Queueコマンドを実行し、各キューのオブジェクト数が0になっていることを確認してください。
オブジェクトの数がゼロになったら、すぐにHub Transport Serviceを停止できます。これを行うには、PowerShellウィンドウを管理者として開き、次のコマンドを実行します。
Stop-Service MSExchangeTransport
また、サービスコントロールパネルからサービスを停止することもできます。
注:プロセスが完了するまで、ユーザーは電子メールを送受信できません。ただし、Exchange サーバーへの接続は可能です。したがって、このプロセスはメンテナンスウィンドウで実行してください。
サービスを停止したら、mail.queファイルを別の場所に移動するか、削除してください。
メールキューファイルの別の場所への移動
メールキューファイルを別の場所に移動することができます。別のドライブに移動することをお勧めします。これを行うには、以下のように、Exchange Server のスクリプトパス(%ExchangeInstallPath%Scripts)で Move-TransportDatabase.ps1 スクリプトを実行する必要があります。
Move-TransportDatabase.ps1 -queueDatabasePath '<queue location>' -queueDatabaseLoggingPath '<queue logging location>' -iPFilterDatabasePath '<ipfilter location>' -iPFilterDatabaseLoggingPath '<ipfilter logging location>' -temporaryStoragePath '<temporary location>
それから新しい場所を開き、mail.queファイルとtrn.chk、trn.log、trntmp.log、jrs、tmp.debファイルが新しい場所に移動したことを確認してください。
メールキューファイルの削除
メールキュー・ファイルを削除することもできます。しかし、キュー内のすべてを失う可能性があるため、これはお勧めできません。ファイルを削除するには、キューの場所に行って削除するのが簡単です。Exchange Server 2019のキューファイルの場所は次のとおりです:
C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue
ファイルを移動または削除したら、トランスポートサービスを再起動する必要があります。これを行うには、次のPowerShellコマンドを使用します。
Start-Service MSExchangeTransport
また、サービスコントロールパネルからサービスを開始することもできます。プロセスが完了するとすぐに、ファイルが再作成されます。
結論
上記では、Exchange Server の mail.que ファイルがどのようなものであるか、またファイルが大きくなった場合にど のように管理できるかを説明しました。ディスク容量が不足すると、Exchange Server に問題が発生したり、データベースが破損したりする可能性があります。このような場合、できるだけ早く、データを失うことなくサービスとデータベースを復元する必要があります。
迅速なデータ復旧には、Stellar Repair for Exchange のような特殊なアプリケーションを使用することができます。このアプリケーションは、Exchange Serverを起動することなく、サイズの制限なく、どのような状態でもExchange Serverデータベースを開くことができます。EDBファイルのデータをPSTやその他のファイル形式で保存することができます。また、データを新しいExchange ServerデータベースまたはOffice 365テナントに直接エクスポートすることもできます。それは、ユーザーメールボックス、ユーザーアーカイブ、共有メールボックス、非アクティブ化メールボックス、さらにはパブリックフォルダを扱うことができます。