ESE 428 (0xfffff8f0):交易記錄磁碟機上剩餘的可用空間不足

[本主題的目的是要說明 Exchange Server Analyzer 工具所引出的特定問題。您只應將它套用到已執行過 Exchange Server Analyzer 工具且有遇到該特定問題的系統。Exchange Server Analyzer 工具可免費下載,它會從拓撲中的每台伺服器遠端收集組態資料,並自動分析該資料。產生的報告會詳述重要的組態問題、潛在問題及非預設的產品設定。遵循這些建議,您便能達到較佳的效能、延展性、可靠性及執行時間。如需此工具的相關資訊或是要下載最新版本,請參閱 Microsoft Exchange Analyzer (http://go.microsoft.com/fwlink/?linkid=34707)。]  

上次修改主題的時間: 2007-04-02

Microsoft® Exchange 資料庫疑難排解員工具在應用程式記錄檔中偵測到一或多個 ESE 428 事件。此事件表示交易記錄檔磁碟機上的可用空間不足。產生此錯誤時,Exchange Server 將無法建立新的交易記錄檔。如此會導致受影響儲存群組中的所有資料庫變成離線,因為資料庫的更新必須記錄在交易記錄檔中。

Exchange Server 提供兩種機制來避免填滿交易記錄磁碟機的空間:

  • 循環記錄。在資料庫檢查點向前通過交易記錄後,就會自動刪除這些記錄。在大多數情況下,交易記錄檔所使用的磁碟空間會保持在 50 MB 以下。在備份期間,交易記錄會暫停移除,直到備份完成為止。
    note附註:
    Microsoft Exchange 2000 Server 及更新版本預設未啟用循環記錄。
  • 儲存群組備份。Exchange Server 使用一種針對 Exchange Server 實作大量陰影複製服務 (VSS) 或資料流線上備份 API 的備份方法,在執行儲存群組中所有資料庫的完整或增量線上備份之後,移除多餘的記錄。

如果循環記錄未啟用且下列其中一個條件為 true,則交易記錄檔的數量將持續增加,直到用盡硬碟的磁碟空間為止:

  • 備份程式並未移除交易記錄檔。
  • 備份程式已停止執行。
  • 使用其他方法並未清除交易記錄檔。

如果已用完硬碟空間,您必須偶爾手動移除交易記錄檔。或者,如果預計硬碟空間即將用盡,就必須偶爾手動移除交易記錄檔,才能執行特定儲存群組中所有資料庫的完整或增量線上備份。如果您將仍在資料庫檢查點前的記錄移除,資料庫會異常停止;除非還原必要記錄,否則無法裝載資料庫。因此,在手動移除任何 Exchange Server 交易記錄檔前,請務必判斷可放心移除的記錄檔。

該錯誤也會回報為 JET_errDiskFull 或錯誤碼 0xfffff8f0。此錯誤適用於下列 Exchange Server 版本:

  • Microsoft Exchange Server 2007
  • Microsoft Exchange Server 2003
  • Microsoft Exchange 2000 Server

若要解決此錯誤,請選取下列其中一種解決方案:

  • 執行 [資料庫復原管理] 工具。在 Microsoft Exchange Server 2007 中,此工具列在 Exchange 管理主控台之 [工具箱] 的 [資料庫復原] 工具下。Exchange Server Analyzer 可以自動判定可放心移除的記錄檔,並且會為您將這些記錄檔複製到備份位置。強烈建議您使用 Exchange Server Analyzer 來移動記錄檔。
    note附註:
    如果包含資料庫的儲存群組已啟用叢集連續複寫 (CCR),則 Exchange Server Analyzer 將無法在 Exchange 2007 中運作。
  • 檢查每個資料庫標頭中的 [狀態] 和 [需要的記錄檔] 值,來判斷可放心手動移除的交易記錄檔。
    note附註:
    就本文而言,「移除」交易記錄檔指的是,將某個交易記錄檔移至另一個可在該處備份、儲存或刪除交易記錄檔的位置。要執行的動作視您的需求而定。就本文而言,「刪除」交易記錄檔指的是讓您無法備份或還原該交易記錄檔的移除動作。

請遵循這些詳細步驟,來判斷可放心手動移除的交易記錄檔。

檢查資料庫標頭並移除不需要的記錄檔
  1. 卸載您要檢查其標頭的資料庫。

  2. 依序按一下 [開始] 和 [執行],然後輸入 cmd 以開啟 [命令提示] 視窗。

  3. 在命令提示下,移至資料庫檔案所在的目錄路徑。

    note附註:
    在 Exchange 2000 Server 和 Exchange Server 2003 中,若要判斷資料庫的 .edb 和 .stm 檔的路徑和檔名,請使用 Exchange 系統管理員來檢視每個資料庫物件之內容對話方塊中的 [資料庫] 索引標籤。若要在 Exchange Server 2007 中判斷資料庫檔案的名稱和路徑,請展開 [伺服器組態] 下的 [Exchange 管理主控台],按一下 [信箱],然後檢視 [資料庫管理] 索引標籤。
  4. 在命令提示中輸入以下的 Eseutil命令和 /MH 參數:

    "eseutil /MH databasefilename.edb"
    
    note附註:
    在此語法中,databasefilename 是您要檢查之資料庫的名稱。
  5. 檢查所顯示之標頭資訊中的 [狀態] 和 [需要的記錄檔] 值。

    [狀態] 值提供以下資訊,說明資料庫是否已正確分離:

    • 如果資料庫已正確分離,[狀態] 值為「正常關機」或「一致」。此值依正在執行的 Exchange Server 版本而有所不同。您可以移除所有交易記錄檔,但目前的交易記錄檔除外。
      note附註:
      如果您在所有資料庫處於「正常關機」狀態時移除目前的記錄檔,將導致重設記錄檔序列。此舉不會阻止資料庫啟動。不過,如果發生這種狀況,重設記錄檔序列會影響將資料庫從先前備份向前復原的能力。
    • 如果資料庫未正確分離,[狀態] 值則為「不正常關機」或「不一致」。檢查資料庫標頭中的 [需要的記錄檔] 欄位,就可以判斷可移除的交易記錄檔。
      note附註:
      如果資料庫處於「不正常關機」或「不一致」狀態,表示部分現有交易記錄檔中包含資料庫所需的未完成交易。如果您在此情況下移除交易記錄檔,除非您從備份還原資料庫,否則無法再次啟動資料庫。另外,您可以使用 Eseutil 命令和 Isinteg 命令來修復資料庫。
      您在移除儲存群組的任何記錄檔前,應該先檢查該儲存群組中每個資料庫的 [需要的記錄檔] 值。
      [需要的記錄檔] 欄位會列出啟動此資料庫所需之記錄檔的編號範圍。如果範圍是 0 - 0,表示啟動此資料庫不需要任何記錄檔。該資訊指出資料庫處於「正常關機」或「一致」狀態。如果有比檢查點記錄還舊的記錄檔,您可以移除這些記錄檔 (不包括檢查點記錄檔)。
      如果您執行的是比 Exchange Server 2003 Service Pack 1 (SP1) 還舊的 Exchange Server 版本,您必須將 [需要的記錄檔] 欄位中列出的十進位範圍轉換成十六進位的值。例如,如果 [需要的記錄檔] 值為 28217 – 28221,則此資料庫需要的是 06E39 到 06E3D 的記錄檔。在 Exchange  2003 SP1 中,[需要的記錄檔] 欄位已增強為可同時報告十進位和十六進位值。
      note附註:
      您可以使用 Windows 小算盤的 [工程型] 模式,將十進位轉換為十六進位。啟動小算盤,然後按一下 [檢視] 功能表上的 [工程型]。輸入十進位數字,然後按一下 [十六進位]。
      由於您在 Exchange 2000 和 Exchange 2003 中最多可擁有四個儲存群組,且每個儲存群組都有一組特定的記錄檔,因此交易記錄檔的名稱中不會出現 Edb 前置詞。在 Exchange 2000 和 Exchange 2003 中,是以 E00、E01、E02 或 E03 來取代 Edb 前置詞。若為復原儲存群組,則以 R00 來取代 Edb 前置詞。儲存群組記錄檔名稱的前置詞會顯示在 Exchange 系統管理員中,特定儲存群組物件之 [內容] 對話方塊中的 [一般] 索引標籤上。因此,如果儲存群組的前置詞為 E01,且 [需要的記錄檔] 項目為 28217 – 28221 (0x06E39 – 0x06E3D),則實際所需的記錄檔為 E0106E39.log 到 E0106E3D.log。
  6. 您可以放心移除儲存群組中,比任何資料庫之 [需要的記錄檔] 欄位中最低項目還小的所有編號記錄檔。

    note附註:
    請記得是移動記錄檔,而非刪除。
    note附註:
    最佳作法是:不要移除最新的交易記錄檔,也就是具有最新時間戳記且在其檔名中尚未有序列編號的記錄檔。即使您已判斷可放心移除此檔案,但還是請您保留它,以避免將記錄檔序列重設回 0。如果您重設記錄檔序列,就會影響備份週期。您可能無法從重設前所完成的備份中將資料庫向前復原。
 
顯示: