共用方式為


變更佇列資料庫在 Exchange Server 中的位置

Exchange Server使用可延伸儲存引擎 (ESE) 資料庫來儲存佇列訊息。 所有不同的佇列都是儲存在單一 ESE 資料庫中。 佇列存在於 Exchange 信箱伺服器和 Edge Transport Server 上。 如需佇列的詳細資訊,請參閱 佇列中的佇列和訊息

佇列資料庫和佇列資料庫交易記錄的位置是由 XML 應用程式組態檔中的 %ExchangeInstallPath%Bin\EdgeTransport.exe.config 索引鍵所控制。 此檔案會與 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 可在 Exchange Transport 服務啟動時,用於驗證佇列資料庫架構。 Temp.edb 雖然不是交易記錄檔,但仍會與交易記錄檔存放在相同的位置上。

預設位置是 %ExchangeInstallPath%TransportRoles\data\Queue

開始之前有哪些須知?

  • 預估完成時間:15 分鐘。

  • Exchange 權限無法套用於此主題的程序。 這些程序是在 Exchange 伺服器的作業系統中加以執行。

  • 停止或重新啟動 Exchange Transport 服務時,系統會中斷該伺服器上的郵件流程。

  • 當您變更佇列資料庫或交易記錄的位置時,不會移動現有的佇列資料庫和交易記錄檔。 新的佇列資料庫和新的交易記錄會在新的位置建立。 舊檔案會保留在舊的位置,但不再使用。 如果您想要在新位置重複使用舊的佇列資料庫或交易記錄檔,則必須在 Exchange Transport 服務停止時將檔案移至新位置。

  • 佇列資料庫與交易記錄的資料夾需要下列權限:

    • 網路服務:完全控制

    • 系統:完全控制

    • 系統管理員:完全控制

      如果資料夾不存在,但父資料夾有這些權限,則新資料夾會自動建立。

  • 任何自訂的 Exchange 或 Internet Information Server (IIS) 您在 Exchange Server (上于 Exchange XML 應用程式組態檔中所做的設定,例如,當您安裝 Exchange CU 時, 將會覆寫 web.config檔案或EdgeTransport.exe.config檔案) 。 請務必儲存此資訊,以便在安裝之後輕鬆地重新套用設定。 安裝 Exchange CU 之後,您必須重新設定這些設定。

  • 如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵

  • 有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange ServerExchange OnlineExchange Online Protection

使用命令提示字元在新位置上建立新的佇列資料庫與交易記錄

  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 中建立新佇列資料庫與交易記錄,請使用下列值:

    <add key="QueueDatabasePath" value="D:\Queue\QueueDB" />
    <add key="QueueDatabaseLoggingPath" value="D:\Queue\QueueDB" />
    

    完成後,儲存並關閉 EdgeTransport.exe.config 檔案。

  4. 執行下列命令,重新啟動 Exchange Transport 服務:

    net stop MSExchangeTransport && net start MSExchangeTransport
    

如何知道這是否正常運作?

若要確認已在新位置上成功建立新的佇列資料庫與交易記錄,請執行下列步驟:

  1. 確認新的 Mail.que 與 Trn.chk 資料庫檔案已位於新位置上。

  2. 確認新的 Trn.log、Trntmp.log、Trnres00001.jrs、Trnres00002.jrs 和 Temp.edb 交易記錄檔位於新位置上。

  3. 若您在啟動 Exchange Transport 服務後可從原本位置刪除舊的佇列資料庫與交易記錄檔,即無法再使用舊的佇列資料庫。

使用命令提示字元將現有的佇列資料庫與交易記錄移至新位置

注意事項

另外還有一個腳本來移動佇列資料庫和交易記錄,您可以在 %ExchangeInstallPath%Scripts 資料夾中找到它,並稱為 Move-TransportDatabase.ps1。 您必須指定下列參數:queueDatabasePath、queueDatabaseLoggingPath、iPFilterDatabasePath、iPFilterDatabaseLoggingPath 和 temporaryStoragePath。

雖然您必須移動現有的佇列資料庫,以將任何無法傳遞的郵件保留在其中,但您通常不需要移動現有的交易記錄,因為:

  • Exchange Transport 服務的正常關閉程序,會將所有尚未認可的交易記錄項目寫入佇列資料庫中。

  • 亦會使用循環記錄,因此若交易記錄內含先前認可的資料庫變更,則不會保留。

  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,請使用下列值:

    <add key="QueueDatabasePath" value="D:\Queue\QueueDB" />
    <add key="QueueDatabaseLoggingPath" value="D:\Queue\QueueDB" />
    

    完成後,儲存並關閉 EdgeTransport.exe.config 檔案。

  4. 執行下列命令,停止 Exchange Transport 服務:

    net stop MSExchangeTransport
    
  5. 將現有的 Mail.que 與 Trn.chk 資料庫檔案從舊位置移至新位置上。

  6. 將現有的 Trn.log、Trntmp.log、Trn nnnnn.log、Trnres00001.jrs、Trnres00002.jrs 和 Temp.edb 從原有位置移至新位置。

  7. 執行下列命令,啟動 Exchange Transport 服務:

    net start MSExchangeTransport
    

如何知道這是否正常運作?

若要確認已將現有的佇列資料庫與交易記錄成功移至新位置,請執行下列步驟:

  1. 確認 Mail.que 與 Trn.chk 佇列資料庫檔案已位於新位置中。

  2. 確認 Trn.log、Trntmp.log、Trnres00001.jrs、Trnres00002.jrs 和 Temp.edb 交易記錄檔位於新位置中。

  3. 確認舊位置中已無任何佇列資料庫或交易記錄檔。