Eseutil /R 復原模式

 

上次修改主題的時間: 2006-06-09

復原是指將交易記錄檔顯示到資料庫的程序。復原有兩種:

  • **硬復原:**從線上備份還原資料庫之後發生的交易記錄檔重新顯示程序。
  • **軟復原:**異常停止之後重新裝載資料庫時,或是交易記錄檔重新顯示到資料庫的離線檔案備份副本時發生的交易記錄檔重新顯示程序。

如需硬復原及軟復原的相關資訊,請參閱<重新顯示交易記錄檔:Exchange Server 2003 中的軟復原及硬復原>(https://go.microsoft.com/fwlink/?linkid=68147) (英文)。

如需在復原模式中執行 Eseutil 之指示的相關資訊,請參閱如何在復原模式中執行 Eseutil /R

硬復原

當交易記錄檔必須重新顯示到已還原的線上備份時,即會發生硬復原。在所有其他復原案例中,則進行軟復原。您可以使用還原模式 (/C),利用 Eseutil 來進行硬復原。

軟復原

在預設軟復原案例中,外部事件異常停止 Exchange 資料庫,但是資料庫及記錄檔仍完整且在定位。當重新裝載資料庫時,Exchange 會讀取檢查點檔案,並開始重新顯示列示為檢查點記錄檔的交易記錄。如果沒有檢查點檔案,重新顯示會從儲存群組的交易記錄資料夾中最舊的可用記錄檔開始。

Exchange 會將完成的交易寫入至位於記錄檔但尚未寫入的資料庫檔案,並撤銷任何未完成的交易。Exchange 絕不會將交易寫入資料庫檔案,除非所有構成它的作業已安全地放到記錄檔。如果所有在異常停止時出現的未認可交易記錄,在重新顯示開始後都出現的話,則您不需要實際執行復原或取消資料庫中的交易。

important重要事項:
軟復原程序的基本假設就是沒有資料庫或記錄檔會因為失敗而被移動、刪除或摧毀—或在失敗後由系統管理員進行這些動作。

版本差異

Eseutil 會不斷地改善,並加入新的版本。目前有三個主要的 Eseutil /R 版本用於 3 個主要 Exchange 版本的每一個,如下所示:

  • Exchange Server 5.5 版
  • Exchange 2000 Server
  • Exchange Server 2003

Exchange Server 5.5

Microsoft® Exchange 2000 Server 和 Microsoft® Exchange Server 2003 中利用 Eseutil 進行軟復原的命令列語法與 Exchange 5.5 使用的不同。利用 Eseutil 執行手動軟復原的規則和最佳作法也已變更。

  • 在 Exchange 5.5 中,幾乎從沒有使用 Eseutil 執行軟復原的好理由。每次資訊儲存庫啟動,軟復原就會自動並正確地執行。在 Exchange 5.5 中,Eseutil 軟復原功能主要用於測試環境,因為您想要在這些環境中,於未安裝 Exchange 的伺服器上復原資料庫。
  • 在 Exchange 5.5 中執行 Eseutil /R,有一個主要風險:在復原線上備份之後,若改為執行軟還原,通常會損壞資料庫。線上備份需要硬復原,不需要軟復原。
  • 只在符合下列兩個條件時,才能在 Exchange 5.5 及舊版中安全地執行軟復原來代替硬復原:
    • 自從完成備份後都未變更資料庫路徑。
    • 線上備份組的 .pat 檔案的大小正好是 8 K (表示它們只由兩個標頭頁面組成,其中沒有真正的資料庫分頁)。
      在所有其他狀況中,若執行軟復原而不是硬復原,會按 .pat 檔案大小的比例損壞資料庫。
    note附註:
    如果按 4096 分割 .pat 檔案的位元組大小並減去 2,即為不適當執行軟復原後,資料庫中的邏輯損壞頁數。

Exchange 2000 Server

在 Exchange 2000 中,已實作保護,一律防止在需要硬復原時執行軟復原。

利用 Eseutil 執行軟復原,有另一個風險。此風險仍會存在於 Exchange 2000 或 Exchange 2003:如果不適當地指定記錄檔的路徑、檢查點檔案的路徑,或資料庫檔案的路徑,則復原可能會變更資料庫或記錄檔,並阻止再次進行復原。

如果 Eseutil 在嘗試執行復原時找不到現有的交易記錄檔,它將建立新的交易記錄檔,然後嘗試將資料庫附加至其中。如果資料庫不一致,或處於不正常關機狀態,資料庫將不會成為可啟動的資料庫。如果資料庫處於不一致狀態,該資料庫被附加之後,接著會從新的記錄檔分離。

在任一情況中,您都會有變更資料庫或將記錄檔新增到伺服器,造成資料庫變成無法啟動,或使得進一步的復原疑難排解變得麻煩的風險。

note附註:
即使使用 Eseutil 進行的復原回報成功,也不表示已復原的資料庫處於可裝載的狀態。目前可用的所有可用交易記錄資料套用到資料庫檔案時,復原才能算是成功。復原成功並不指出可用資料是否足以將資料庫還原至一致性。

在 Exchange 5.5 中,最好的方法幾乎就是將檔案放在適當的位置,然後啟動資訊儲存庫以完成復原。在 Exchange 2003 中,Eseutil 復原功能中有兩個增強功能,提供比裝載資料庫並在該資料庫上執行復原還要更好的優點:

  • 即使資料庫遺失,Eseutil 也可以強迫完成復原。Exchange 2000 中也有這項功能。

  • 如果儲存群組異常停止,則當時執行的所有資料庫都將是不正常關機狀態中的不一致。假設儲存群組停止的原因是資料庫磁碟機突然故障,因而無法存取磁碟機。在此情況下,您遺失了其中一個資料庫。

  • 如果您在資料庫遺失時執行復原,您可能會變更交易記錄的狀態,以致於如果可再度存取磁碟機時,將無法順利完成該資料庫的復原。

    note附註:
    如果您從備份還原資料庫,復原將能夠順利完成;此案例只適用於復原突然停止時已附加至目前記錄的資料庫。
  • 如果您知道不會復原遺失的資料庫,您可以使用 Eseutil /I (略過) 參數,不需先從備份還原遺失的資料庫,即可復原儲存群組中的其餘資料庫。

使用此參數對儲存群組的其餘部份執行復原之前,您應該先製作所有交易記錄檔的備份,包括目前的記錄檔 (Enn.log)。藉由保存目前記錄檔及所有其他記錄檔的副本,如果遺失的資料庫意外地變成可用,您仍將能夠復原它。一旦復原資料庫的其餘部份,會因此將更多資訊寫入 Enn.log,您可能無法使用該記錄檔復原遺失的資料庫。

Exchange Server 2003

Eseutil 復原可以復原已移至不同路徑位置的資料庫。只有 Exchange 2003 有這項功能。

即使自從備份完成後,Exchange 資料庫已移至不同的路徑位置,仍然可以順利完成硬復原。但是 Exchange 2003 之前,只在資料庫檔案所在的磁碟機路徑與要重新顯示之交易記錄檔中定義的磁碟機路徑相同,軟復原才能運作。

在 Exchange 2003 中,/D 參數已新增到復原模式,以允許覆寫交易記錄檔中定義的資料庫路徑。將資料庫的離線副本還原到復原儲存群組時,或依上面案例所述復原「遺失的」資料庫時,這項新功能非常有用。

現在您可以將資料庫及一組交易記錄複製到任何想要的資料夾,並成功執行軟復原。一旦資料庫一致,就可以將它移至任何想要的其他路徑,以及將它附加到不同的記錄資料流。

相關資訊

如需相關資訊,請參閱《Exchange Server 資料庫公用程式手冊》中的下列主題: