Exchange Server 交易記錄截斷

關於 Microsoft Exchange Server 記錄

在資料庫檔案認可交易之前,Exchange 會將交易記錄到交易記錄檔中。Exchange 為了追蹤資料庫已認可哪些記錄交易,會使用檢查點檔案。資料庫認可交易並透過檢查點檔案追蹤交易後,資料庫就不再需要記錄檔。

如果記錄檔未刪除,最終將會占用所有可用磁碟空間,且 Exchange 資料庫將會進入離線狀態,直到從磁碟中清除記錄檔為止。使用循環記錄對於生產環境來說不是最佳的作法。啟用循環記錄時,Exchange 會於資料庫認可第一個記錄檔的資料後覆寫該記錄檔,而且您最多只能復原到最後一次備份的資料。

建議您在備份 Exchange 伺服器後刪除記錄檔,因為記錄檔會與其他檔案一起備份。因此在復原後,您將能夠回復或向前復原資料庫。

若需交易記錄的詳細資料,請參閱 http://technet.microsoft.com/zh-tw/library/bb331958.aspx

使用 [啟用 VSS 完整備份] 選項截斷記錄

截斷記錄最簡便的方法,是使用 [啟用 VSS 完整備份] 備份選項 ([選項] > [預設備份與復原選項] > [預設備份選項] > [磁碟區陰影複製服務] > [啟用 VSS 完整備份])。在大多數情況下,建議使用此方法。

如果不希望啟用此選項 (例如,您需要保留電腦上所執行之另一個 VSS 感知應用程式的記錄),請遵循下方的建議操作。

離線資料庫的記錄截斷

正常關機後,資料庫狀態會認定為一致,且資料庫檔案是獨立的。這表示您可以刪除資料庫或儲存群組的所有記錄檔。

若要刪除交易記錄檔:

  1. 卸載資料庫 (在 Exchange 2010 中) 或儲存群組的所有資料庫 (在 Exchange 2003/2007 中)。如需更多資訊,請參閱:
  2. 刪除資料庫或儲存群組的所有記錄檔。
  3. 掛載已卸載的一或多個資料庫。

    如需更多資訊,請參閱:

線上資料庫的記錄截斷

此方法適合持續使用且無法卸載的資料庫。如果資料庫在使用中,可刪除而不會有危險的只有資料庫已認可其資料的交易記錄檔。請勿刪除資料庫尚未認可其資料的交易記錄檔,因為在從非預期關機復原資料庫一致性時會需要這些檔案。

若要刪除認可的交易記錄

  1. 使用 Eseutil 工具判斷資料庫已認可哪些記錄:
    1. 執行 eseutil /mk <檢查點檔案路徑> 命令,其中 <檢查點檔案路徑> 是所需資料庫或儲存群組的檢查點檔案路徑。
    2. 查看輸出中的 Checkpoint 欄位。例如,您應會看到類似這樣的內容:

      CheckPoint: (0x60B, 7DF, 1C9)

    第一個數字 0x60B 是目前記錄檔的十六進位記錄產生號碼。這代表資料庫已認可所有號碼小於此的記錄檔。

  2. 刪除所有號碼小於目前記錄檔號碼的記錄檔。例如,您可以安全地刪除 Enn0000060A.log、Enn00000609.log 和號碼較小的檔案。
備份後記錄截斷

您可以使用指令碼自動化上述截斷程序。如果您將指令碼新增到事後備份命令,記錄將會於備份後立即截斷。

此方法假設您具備指令碼使用技巧,且熟悉 Acronis Backup 命令列公用程式 (acrocmd)。如需 acrocmd 的詳細資訊,請參閱<命令列參考>

指令碼應包含下列步驟:

  1. 使用 mount 命令掛載含有所需資料庫檔案的磁碟區。

    範本:

    acrocmd mount --loc=<路徑> --credentials=<使用者名稱>,<password> --arc=<存檔名稱> --volume=<磁碟區編號> --letter=<代號>

    範例:

    acrocmd mount --loc=\\bkpsrv\backups --credentials=user1,pass1 --arc=my_arc --volume=1-1 --letter=Z

  2. 在掛載的磁碟區中,使用 Eseutil 工具判斷資料庫已認可的記錄。程序已於上述<線上資料庫的記錄截斷>的步驟 1 中說明。
  3. 在個別的線上資料庫或儲存群組中,刪除 號碼小於備份中目前記錄檔號碼的所有記錄檔。
  4. 使用 umount 命令卸載所掛載的磁碟區。