キュー データベースの管理
適用先: 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>
セクションでは、新しい構成オプションを追加したり、既存の構成オプションを変更したりすることができます。キュー データベースにはまったく関係がない多くの構成オプションも指定できます。ただし、このトピックの範囲外であるため、ここでは説明しません。
注 : |
---|
<add key=../> セクションのパラメータ名では、大文字と小文字が区別されます。 |
EdgeTransport.exe.config ファイルで使用できるキュー データベースの構成オプションについて、表 3 で説明します。
表 3 EdgeTransport.exe.config ファイルで使用できるメッセージ キュー データベースの構成オプション
パラメータ名 | 説明 | ||
---|---|---|---|
QueueDatabaseBatchSize |
このパラメータには、実行する前にグループ化できるデータベース I/O 操作の数を指定します。既定値は
|
||
QueueDatabaseBatchTimeout |
このパラメータには、実行前に複数のデータベース I/O 操作がグループ化されるまでデータベースが待機する最大時間を指定します (ミリ秒単位)。データベース I/O 操作は、以下の条件が満たされると、それ以上の操作を待たずに実行されます。
既定値は |
||
QueueDatabaseMaxConnections |
このパラメータには、開くことができる ESE データベース接続の数を指定します。既定値は |
||
QueueDatabaseLoggingBufferSize |
このパラメータには、トランザクション ログ ファイルに書き込まれる前のトランザクション レコードをキャッシュするために使用されるメモリを指定します。既定値は |
||
QueueDatabaseLoggingFileSize |
このパラメータには、トランザクション ログ ファイルの最大サイズを指定します。ログ ファイルの最大サイズに達すると、新しいログ ファイルが開かれます。既定値は |
||
QueueDatabaseLoggingPath |
このパラメータには、キュー データベース ログ ファイルの既定のディレクトリを指定します。既定のパスは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue です。キュー データベースのログ ディレクトリを変更する前に、新しいディレクトリが存在することを確認してください。また、そのディレクトリに以下のファイル アクセス許可が適用されていることを確認してください。ネットワーク サービスにはフル コントロール、システムにはフル コントロール、管理者にはフル コントロールが必要です。 |
||
QueueDatabaseMaxBackgroundCleanupTasks |
このパラメータには、データベース エンジンのスレッド プールに対するキューに任意の時点で置くことができる、バックグラウンドでのクリーンアップ作業の最大アイテム数を指定します。既定値は |
||
QueueDatabaseOnlineDefragEnabled |
このパラメータを使用すると、メール キュー データベースの、スケジュールされたオンラインでの最適化を有効または無効にできます。既定値は |
||
QueueDatabaseOnlineDefragSchedule |
このパラメータには、メール キュー データベースのオンラインでの最適化を開始する時刻を、24 時間形式で指定します。値を指定するには、hh:mm:ss の形式で期間として入力します。h = 時間、m = 分、s = 秒です。既定値は |
||
QueueDatabaseOnlineDefragTimeToRun |
このパラメータには、オンラインでの最適化タスクの実行を許可する時間を指定します。指定した時間で最適化タスクが終了しない場合でも、キュー データベースは整合状態で残されます。値を指定するには、hh:mm:ss の形式で期間として入力します。h = 時間、m = 分、s = 秒です。既定値は |
||
QueueDatabasePath |
このパラメータには、キュー データベース ファイルの既定のディレクトリを指定します。既定のパスは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue です。キュー データベースのディレクトリを変更する前に、新しいディレクトリが存在することを確認してください。また、そのディレクトリに以下のファイル アクセス許可が適用されていることを確認してください。ネットワーク サービスにはフル コントロール、システムにはフル コントロール、管理者にはフル コントロールが必要です。 |
詳細情報
キューの詳細については、「キューの管理」を参照してください。
キュー データベースの場所を変更する方法の詳細については、「キュー データベースの場所を変更する方法」を参照してください。
参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。