キュー データベースの管理

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2008-03-11

キューは、次の処理段階に移るのを待っているメッセージが一時的に保持されている場所です。各キューは、トランスポート サーバーが特定の順序で処理するメッセージの論理的なセットを表します。キューは、ハブ トランスポート サーバーの役割またはエッジ トランスポート サーバーの役割がインストールされているサーバー上にのみ存在します。

Microsoft Exchange Server 2007 は、Extensible Storage Engine (ESE) データベースを使用してキュー メッセージを格納します。以前は JET と呼ばれていた ESE は、Exchange Server の基本的なデータベース構造に対する下位レベルの API を定義する手段です。

キューの概要

表 1 に、ハブ トランスポート サーバーまたはエッジ トランスポート サーバー上に存在するキューと、それらの特性を一覧で示します。

表 1   ハブ トランスポート サーバーまたはエッジ トランスポート サーバー上に存在するキュー

キュー名 サーバーの役割 サーバー上のキューの数

メールボックス配信キュー

ハブ トランスポート

一意の配信先メールボックス サーバーごとに 1 つのキュー。

有害メッセージ キュー

エッジ トランスポート

ハブ トランスポート

1

リモート配信キュー

エッジ トランスポート

ハブ トランスポート

エッジ トランスポート : 一意の配信先 SMTP (簡易メール転送プロトコル) ドメインまたはスマート ホストごとに 1 つのキュー。

ハブ トランスポート : 一意のリモート Active Directory ディレクトリ サービス サイトごとに 1 つのキュー。

送信キュー

エッジ トランスポート

ハブ トランスポート

1

到達不能キュー

エッジ トランスポート

ハブ トランスポート

1

キュー データベース ファイルの概要

さまざまなキューがすべて 1 つの ESE データベースに格納されます。既定では、このキュー データベースは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue にあります。

ESE データベースと同様に、キュー データベースはログ ファイルを使用して、データの受け付け、追跡、および維持を行います。パフォーマンスを強化するために、メッセージ トランザクションはすべて、最初にログ ファイルとメモリに書き込まれ、次にデータベース ファイルに書き込まれます。チェックポイント ファイルは、データベースにコミットされたトランザクション ログ エントリを追跡します。Microsoft Exchange トランスポート サービスの通常のシャットダウン中、コミットされていないデータベースの変更がトランザクション ログ内に見つかると、必ずデータベースにコミットされます。

キュー データベースには循環ログが使用されます。つまり、トランザクション ログ内で見つかった、コミットされたトランザクションの履歴は保持されません。現在のチェックポイントより古いすべてのトランザクション ログは直ちに、自動的に削除されます。このため、キュー データベースを回復するために、バックアップからトランザクション ログを再生することはできません。

表 2 に、キュー データベースを構成するファイルの一覧を示します。

表 2   キュー データベースを構成するファイル

ファイル 説明

Mail.que

このキュー データベース ファイルは、キューに入れられたメッセージをすべて格納します。

Tmp.edb

この一時データベース ファイルは、起動時にキュー データベース スキーマを確認するために使用されます。

Trn*.log

このトランザクション ログは、キュー データベースに対するすべての変更を記録します。データベースへの変更は、最初にトランザクション ログに書き込まれ、次にデータベースにコミットされます。Trn.log は、現在アクティブなトランザクション ログ ファイルです。Trntmp.log は、前もって作成され、準備されている次のトランザクション ログ ファイルです。既存の Trn.log トランザクション ログ ファイルが最大サイズに達すると、Trn.log の名前は Trnnnnn.log に変更されます。ここで、nnnn はシーケンス番号です。次に、Trntmp.log の名前が Trn.log に変更され、現在アクティブなトランザクション ログ ファイルになります。

Trn.chk

このチェックポイント ファイルは、データベースにコミットされたトランザクション ログ エントリを追跡します。このファイルは、常に mail.que ファイルと同じ場所にあります。

Trnres00001.jrs

Trnres00002.jrs

これらの予約トランザクション ログ ファイルはプレースホルダとして動作します。これらのファイルが使用されるのは、トランザクション ログを格納しているハード ディスク ドライブで、キュー データベースを正常に停止するための領域が不足している場合のみです。

キュー データベースを構成するためのオプション

キュー データベースは、Exchange 管理コンソールや Exchange 管理シェルを使用して構成することはできません。キュー データベースは、C:\Program Files\Microsoft\Exchange Server\Bin にある EdgeTransport.exe.config ファイルを変更することによって構成します。EdgeTransport.exe.config ファイルは、EdgeTransport.exe ファイルと関連付けられている XML アプリケーション構成ファイルです。EdgeTransport.exe および MSExchangeTransport.exe は、Microsoft Exchange Transport サービスによって使用される実行可能ファイルです。このサービスは、すべてのハブ トランスポート サーバーまたはエッジ トランスポート サーバーで実行されます。EdgeTransport.exe.config ファイルに加えられた変更は、Microsoft Exchange Transport サービスの再起動後に適用されます。

次に、EdgeTransport.exe.config ファイルの構造の基本的な例を示します。

<configuration>

<runtime>

<gcServer enabled="true" />

</runtime>

<appSettings>

<add key=" 構成オプション " value=" " />

...

</appSettings>

</configuration>

<appSettings> セクションでは、新しい構成オプションを追加したり、既存の構成オプションを変更したりすることができます。キュー データベースにはまったく関係がない多くの構成オプションも指定できます。ただし、このトピックの範囲外であるため、ここでは説明しません。

note注 :
<add key=../> セクションのパラメータ名では、大文字と小文字が区別されます。

EdgeTransport.exe.config ファイルで使用できるキュー データベースの構成オプションについて、表 3 で説明します。

表 3   EdgeTransport.exe.config ファイルで使用できるメッセージ キュー データベースの構成オプション

パラメータ名 説明

QueueDatabaseBatchSize

このパラメータには、実行する前にグループ化できるデータベース I/O 操作の数を指定します。既定値は 40 です。メッセージを受信するたびに、メッセージの受信者数とメッセージのサイズを基にしてメッセージの I/O コストが引き出されます。メッセージの I/O コストが QueueDatabaseBatchSize パラメータで指定されている値を超えている場合、そのメッセージはキュー データベースに直ちにコミットされます。そうでない場合は、受信したその他のメッセージと組み合わされ、共にキュー データベースにコミットされます。

warning注意 :
マイクロソフト カスタマ サポート サービスの担当者から指示されない限り、このパラメータを変更しないでください。

QueueDatabaseBatchTimeout

このパラメータには、実行前に複数のデータベース I/O 操作がグループ化されるまでデータベースが待機する最大時間を指定します (ミリ秒単位)。データベース I/O 操作は、以下の条件が満たされると、それ以上の操作を待たずに実行されます。

  • QueueDatabaseBatchSize パラメータで指定されたデータベース I/O 操作の数に到達しなかった。
  • QueueDatabaseBatchTimeout パラメータで指定された時間が経過した。

既定値は 100 です。

QueueDatabaseMaxConnections

このパラメータには、開くことができる ESE データベース接続の数を指定します。既定値は 4 です。

QueueDatabaseLoggingBufferSize

このパラメータには、トランザクション ログ ファイルに書き込まれる前のトランザクション レコードをキャッシュするために使用されるメモリを指定します。既定値は 524288 バイトです。

QueueDatabaseLoggingFileSize

このパラメータには、トランザクション ログ ファイルの最大サイズを指定します。ログ ファイルの最大サイズに達すると、新しいログ ファイルが開かれます。既定値は 5242880 バイトです。

QueueDatabaseLoggingPath

このパラメータには、キュー データベース ログ ファイルの既定のディレクトリを指定します。既定のパスは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue です。キュー データベースのログ ディレクトリを変更する前に、新しいディレクトリが存在することを確認してください。また、そのディレクトリに以下のファイル アクセス許可が適用されていることを確認してください。ネットワーク サービスにはフル コントロール、システムにはフル コントロール、管理者にはフル コントロールが必要です。

QueueDatabaseMaxBackgroundCleanupTasks

このパラメータには、データベース エンジンのスレッド プールに対するキューに任意の時点で置くことができる、バックグラウンドでのクリーンアップ作業の最大アイテム数を指定します。既定値は 32 です。

QueueDatabaseOnlineDefragEnabled

このパラメータを使用すると、メール キュー データベースの、スケジュールされたオンラインでの最適化を有効または無効にできます。既定値は $true です。

QueueDatabaseOnlineDefragSchedule

このパラメータには、メール キュー データベースのオンラインでの最適化を開始する時刻を、24 時間形式で指定します。値を指定するには、hh:mm:ss の形式で期間として入力します。h = 時間、m = 分、s = 秒です。既定値は 1:00:00、つまり午前 1 時です。

QueueDatabaseOnlineDefragTimeToRun

このパラメータには、オンラインでの最適化タスクの実行を許可する時間を指定します。指定した時間で最適化タスクが終了しない場合でも、キュー データベースは整合状態で残されます。値を指定するには、hh:mm:ss の形式で期間として入力します。h = 時間、m = 分、s = 秒です。既定値は 3:00:00 です。

QueueDatabasePath

このパラメータには、キュー データベース ファイルの既定のディレクトリを指定します。既定のパスは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue です。キュー データベースのディレクトリを変更する前に、新しいディレクトリが存在することを確認してください。また、そのディレクトリに以下のファイル アクセス許可が適用されていることを確認してください。ネットワーク サービスにはフル コントロール、システムにはフル コントロール、管理者にはフル コントロールが必要です。

詳細情報

キューの詳細については、「キューの管理」を参照してください。

キュー データベースの場所を変更する方法の詳細については、「キュー データベースの場所を変更する方法」を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。