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

 

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

トピックの最終更新日: 2009-01-27

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

Microsoft Exchange Server 2007 は、Extensible Storage Engine (ESE) データベースを使用してキューを格納します。ESE は以前は JET と呼ばれていたもので、Exchange Server の基本的なデータベース構造に対する下位レベルの API を定義する方法です。単一の ESE データベースにはすべて異なるキューが格納されます。キューは、ハブ トランスポート サーバーの役割またはエッジ トランスポート サーバーの役割がインストールされているサーバーにのみ存在します。

開始する前に

次の手順を実行するには、使用するアカウントに以下が委任されている必要があります。

  • Exchange サーバー管理者の役割および対象サーバーのローカルの Administrators グループ

エッジ トランスポート サーバーの役割がインストールされているコンピュータで以下の手順を実行するには、そのコンピュータのローカルの Administrators グループのメンバであるアカウントを使用してログオンする必要があります。

Microsoft Exchange Server 2007 を管理するために必要なアクセス許可、役割の委任、および権限の詳細については、「アクセス許可に関する考慮事項」を参照してください。

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

キュー データベースの場所は、C:\Program Files\Microsoft\Exchange Server\Bin ディレクトリにある EdgeTransport.exe.config アプリケーション構成ファイル内の QueueDatabasePath パラメータによって制御されます。キュー データベースの場所を変更するには、以下の 2 つの方法を使用できます。

  • Move-TransportDatabase.ps1 スクリプトを使用する
    Exchange 2007 Service Pack 1 (SP1) には、トランスポート データベース ファイルおよびトランザクション ログ ファイルの場所を変更するために使用できる、新しいスクリプトが含まれています。このスクリプトを使用すると、データベース ファイルを指定した新しい場所に移動することもできます。Move-TransportDatabase.ps1 スクリプトを使用してデータベース ファイルを移動するときは、以下の事項について考慮することが重要です。
    • 移動先ドライブが移動元ドライブと異なる場合、移動先ドライブ上で十分な領域が使用可能である必要があります。このスクリプトでは、2 ギガバイト (GB) に加えて、既存のデータベース ファイルまたはトランザクション ログ ファイルを移動するために必要な領域が必要です。
    • QueueDatabasePath パラメータを、IPFilterDatabasePath パラメータと同じ値にすることはできません。
    • QueueDatabaseLoggingPath パラメータを、IPFilterDatabaseLoggingPath パラメータと同じ値にすることはできません。
    • 移動先パスが存在しない場合、スクリプトによって代替パスが自動的に作成されます。
    • 既存の EdgeTransport.exe.config ファイルは、EdgeTransport.exe.config.yyyyMMddHHmmss.old として自動的に保存されます。
  • データベース ファイルを手動で移動する
    Move-TransportDatabase.ps1 スクリプトを使用してトランスポート データベース ファイルを移動することをお勧めしますが、これらのデータベース ファイルを手動で移動することもできます。以下の一覧に、キュー データベースの場所を変更する際に考慮する必要がある重要な事項を示します。
    • 変更先のディレクトリが存在しない場合、親ディレクトリに以下のアクセス許可が適用されていれば、そのディレクトリは自動的に作成されます。
      ネットワーク サービス :フル コントロール
      システム :フル コントロール
      管理者 :フル コントロール
    • 既存のキュー データベース ファイルである Mail.que および Trn.chk は移動されません。EdgeTransport.exe.config アプリケーション構成ファイルを保存して、Microsoft Exchange Transport サービスを再開すると、新しいキュー データベース ファイルが新しい場所に作成されます。既存のデータベース ファイルは古い場所に残ります。ただし、それらは今後使用されません。
    • キュー データベースの場所を変更しつつ、既存のキュー データベース ファイルを再利用する場合は、Microsoft Exchange Transport サービスが停止しているときに、データベース ファイルを移動またはコピーする必要があります。

新しい場所へのキュー データベースの移動

Move-TransportDatabase.ps1 スクリプトを使用してキュー データベースを新しい場所に移動するには、次の操作を行います。

  1. Exchange 管理シェルを起動します。

  2. シェル プロンプトで、以下のコマンドを実行します。<destination path> を、E:\Exchange\Transport\Queue などの適切なパスに置き換えてください。

    Move-TransportDatabase.ps1 -QueueDatabasePath: <destination path> 
    

新しい場所での新しいキュー データベースの手動での作成

新しい場所で新しいキュー データベースを作成するには、次の操作を行います。

  1. メモ帳を使用して、

    C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config ファイルを開きます。

  2. <appSettings> セクションで以下の行を変更します。

    <add key="QueueDatabasePath" value="<LocalPath>" />
    

    たとえば、トランザクション ログの新しい場所を "C:\Queue\QueueDB" に作成するには、QueueDatabasePath パラメータを以下のように変更します。

    <add key="QueueDatabasePath" value="C:\Queue\QueueDB" />
    
  3. EdgeTransport.exe.config ファイルを保存して閉じます。

  4. Microsoft Exchange Transport サービスを再起動します。

  5. 新しい Mail.que および Trn.chk ファイルが新しい場所に作成されたことを確認します。

  6. 元の場所から使用しない Mail.que および Trn.chk ファイルを削除します。

新しい場所での既存のキュー データベースの手動での再利用

新しい場所で既存のキュー データベースを再利用するには、次の操作を行います。

  1. キュー データベースを格納するディレクトリを作成します。そのディレクトリに適切なアクセス許可が適用されていることを確認します。

  2. メモ帳を使用して、C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config ファイルを開きます。

  3. <appSettings> セクションで以下の行を変更します。

    <add key="QueueDatabasePath" value="<LocalPath>" />
    

    たとえば、場所を "C:\Queue\QueueDB" に変更するには、QueueDatabasePath パラメータを以下のように変更します。

    <add key="QueueDatabasePath" value="C:\Queue\QueueDB" />
    
  4. EdgeTransport.exe.config ファイルを保存して閉じます。

  5. Microsoft Exchange Transport サービスを停止します。

  6. Mail.que および Trn.chk ファイルを元の場所から新しい場所にコピーします。

  7. Microsoft Exchange Transport サービスを開始します。

  8. 元の場所から使用しない Mail.que および Trn.chk ファイルを削除します。

キュー データベース トランザクション ログの場所の変更

キュー データベース トランザクション ログの場所は、EdgeTransport.exe.config アプリケーション構成ファイル内の QueueDatabaseLoggingPath パラメータによって制御されます。トランザクション ログ ファイルの場所を変更するには、以下の 2 つの方法を使用できます。

  • Move-TransportDatabase.ps1 スクリプトを使用する。
    Exchange 2007 Service Pack 1 (SP1) には、トランスポート データベース ファイルおよびトランザクション ログ ファイルの場所を変更するために使用できる、新しいスクリプトが含まれています。このスクリプトを使用すると、トランザクション ログ ファイルを指定した新しい場所に移動することもできます。以下の一覧に、Move-TransportDatabase.ps1 スクリプトを使用してデータベース ファイルを移動するときに考慮する重要な事項をいくつか示します。
    • 移動先ドライブが移動元ドライブと異なる場合、移動先ドライブ上で十分な領域が使用可能である必要があります。このスクリプトでは、2 GB に加えて、既存のデータベース ファイルまたはトランザクション ログ ファイルを移動するために必要な領域が必要です。
    • QueueDatabasePath パラメータを、IPFilterDatabasePath パラメータと同じ値にすることはできません。
    • QueueDatabaseLoggingPath パラメータを、IPFilterDatabaseLoggingPath パラメータと同じ値にすることはできません。
    • 移動先パスが存在しない場合、スクリプトによって代替パスが自動的に作成されます。
    • 既存の EdgeTransport.exe.config ファイルは、EdgeTransport.exe.config.yyyyMMddHHmmss.old として自動的に保存されます。
  • データベース ファイルを手動で移動する
    Move-TransportDatabase.ps1 スクリプトを使用してトランスポート トランザクション ログ ファイルを移動することをお勧めしますが、これらのファイルを手動で移動することもできます。
    以下の一覧に、キュー データベース トランザクション ログの場所を変更する際に考慮する必要がある重要な事項を示します。
    • 変更先のディレクトリが存在しない場合、親ディレクトリに以下のアクセス許可が適用されていれば、そのディレクトリは自動的に作成されます。
      ネットワーク サービス :フル コントロール
      システム :フル コントロール
      管理者 :フル コントロール
    • 既存のキュー データベース トランザクション ログである Trn.log、Trntmp.log、Trnnnn.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb は移動されません。EdgeTransport.exe.config アプリケーション構成ファイルを保存して、Microsoft Exchange Transport サービスを再開すると、新しいキュー データベース トランザクション ログが新しい場所に作成されます。既存のトランザクション ログ ファイルは古い場所に残ります。ただし、それらは今後使用されません。
    note注 :
    Temp.edb は、Microsoft Exchange Transport サービスの開始時に、キュー データベース スキーマを確認するのに使用されます。Temp.edb はトランザクション ログ ファイルではありませんが、トランザクション ログ ファイルと同じ場所に格納されます。

新しい場所へのトランザクション ログ ファイルの移動

Move-TransportDatabase.ps1 スクリプトを使用してトランザクション ログ ファイルを新しい場所に移動するには、次の操作を行います。

  1. Exchange 管理シェルを起動します。

  2. シェル プロンプトで、以下のコマンドを実行します。<destination path> を、E:\Exchange\Transport\Queue などの適切なパスに置き換えてください。

    Move-TransportDatabase.ps1 -QueueDatabaseLoggingPath: <destination path>
    

新しい場所での新しいキュー トランザクション ログの手動での作成

新しい場所で新しいキュー データベース トランザクション ログを作成するには、次の操作を行います。

  1. メモ帳を使用して、

    C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config ファイルを開きます。

  2. <appSettings> セクションで以下の行を変更します。

    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    たとえば、"C:\Queue\QueueLogs" で新しいキュー データベースを作成するには、QueueDatabaseLoggingPath パラメータを以下のように変更します。

    <add key="QueueDatabaseLoggingPath" value="C:\Queue\QueueLogs" />
    
  3. EdgeTransport.exe.config ファイルを保存して閉じます。

  4. Microsoft Exchange Transport サービスを再起動します。

  5. 新しい Trn.log、Trntmp.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb ファイルが新しい場所に作成されたことを確認します。

  6. 元の場所から使用しない Trn.log、Trntmp.log、Trnnnn.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb ファイルを削除します。

新しい場所での既存のキュー トランザクション ログの手動での再利用

通常は、新しい場所で既存のトランザクション ログを再利用する必要はありません。通常、Microsoft Exchange Transport サービスをシャットダウンすると、コミットされていないすべてのトランザクション ログ エントリがキュー データベースに対してコミットされます。循環ログが使用されます。したがって、以前にコミットされたデータベースの変更が含まれているトランザクション ログは保持されません。Microsoft Exchange Transport サービスが適切にシャットダウンしなかった場合や、ハード ディスク ドライブが故障した場合などの障害回復シナリオでのみ、既存のキュー データベースおよびその既存のトランザクション ログを復元し、再配置する必要があります。

新しい場所で既存のキュー データベース トランザクション ログを再利用するには、次の操作を行います。

  1. キュー データベース トランザクション ログを格納するディレクトリを作成します。そのディレクトリに適切なアクセス許可が適用されていることを確認します。

  2. メモ帳を使用して、C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config ファイルを開きます。

  3. <appSettings> セクションで以下の行を変更します。

    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    たとえば、場所を "C:\Queue\QueueLogs" に変更するには、QueueDatabaseLoggingPath パラメータを以下のように変更します。

    <add key="QueueDatabaseLoggingPath" value="C:\Queue\QueueLogs" />
    
  4. EdgeTransport.exe.config ファイルを保存して閉じます。

  5. Microsoft Exchange Transport サービスを停止します。

  6. 既存の Trn.log、Trntmp.log、Trnnnnn.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb ファイルを新しい場所にコピーします。

  7. Microsoft Exchange Transport サービスを開始します。

  8. 元の場所から使用しない Trn.log、Trntmp.log、Trnnnnn.log、Trnres00001.jrs、Trnres00002.jrs、および Temp.edb ファイルを削除します。

詳細情報

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

既定では、Move-TransportDatabase.ps1 スクリプトは、Exchange 2007 SP1 ベースのコンピュータの以下のフォルダ内にあります。

%ProgramFiles%\Microsoft\Exchange Server\Scripts

このスクリプトでは、以下のパラメータを使用できます。

  • -QueueDatabasePath
  • -QueueDatabaseLoggingPath
  • -IPFilterDatabasePath
  • -IPFilterDatabaseLoggingPath
  • -TemporaryStoragePath

トランスポート データベースまたはトランザクション ログ ファイルを移動するために、スクリプトは以下の操作を実行します。

  1. パラメータの値を検証します。

    • 指定された移動先パスが移動元パスと同じである場合は、この検証操作を省略します。
    • QueueDatabasePathIPFilterDatabasePath を同じ値にすることはできません。これは、両方の場所に Trn.chk ファイルがあるからです。
    • QueueDatabaseLoggingPathIPFilterDatabaseLoggingPath を同じ値にすることはできません。これは、ログ ファイルが同じファイル名を持つからです。
    • 2 GB に加えて、コピーする必要があるファイルのサイズと等価である領域が使用可能であることを確認します。たとえば、2 GB に、Mail.que、Trn.chk、および Ipfiltering.edb ファイルのサイズを加えた値と等価である領域が使用可能である必要があります。
    note注 :
    移動先パスが移動元パスと同じドライブ上にある場合は、ファイル領域の確認を省略します。
  2. 必要に応じて、フォルダを作成します。

    • 必要に応じて、移動先フォルダを作成します。
    • Administrators グループ、ローカル システム アカウント、またはネットワーク サービス アカウントが移動先パスへのフル コントロール アクセス許可を持たない場合は、それらのアクセス許可を追加します。
    • Administrators グループ、ローカル システム アカウント、またはネットワーク サービス アカウントが移動先パスへの拒否のアクセス ルールを持つ場合は、警告メッセージを生成します。この場合、スクリプトは終了しません。
  3. MSExchangeTransport サービスを停止します。

  4. EdgeTransport.exe.config ファイルのバックアップを作成し、EdgeTransport.exe.config.yyyyMMddHHmmss.old という名前を付けます。

  5. 使用されたコマンドに応じて、以下のファイルを移動先パスに移動します。

    • QueueDatabasePath:Mail.que、Trn.chk
    • IPFilterDatabasePath:IPFiltering.edb、Trn.chk
    • ロギング パス:Trn*.log、Trnres00001.jrs、Trnres00002.jrs、Temp.edb
  6. EdgeTransport.exe.config ファイルを更新し、変更をファイルに保存します。

  7. MSExchangeTransport サービスを起動します。

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