Microsoft Exchange 資料還原的方法

Microsoft Exchange Server 是一款廣受歡迎且可靠的電子郵件伺服器,與 Outlook 客戶端相容性極佳,並廣泛應用於各類組織中。有時,email 資料可能會遺失,而 Exchange 資料庫也可能發生損毀。所幸,在許多情況下,皆可透過原生工具及第三方工具,在 Microsoft Exchange Server 中還原 email 資料。

這篇部落格文章將說明 Exchange 資料還原,包括 Exchange 資料庫還原與 Exchange 信箱還原。

NAKIVO for VMware vSphere 備份

NAKIVO for VMware vSphere 備份

為 VMware vSphere 虛擬機器提供全面資料保護及快速還原選項。支援本地、異地及雲端的安全備份目標。具備防勒索軟體功能。

Exchange 資料還原基礎知識

Microsoft Exchange Server 將所有 email 資料儲存於資料庫中。這些資料庫儲存於 .edb 檔案。Exchange 資料庫的另一個重要組成部分是資料庫交易日誌檔案。若資料庫未正常關閉,且部分交易尚未提交(例如因停電導致伺服器硬體斷電),交易日誌便會用於 Exchange 還原。您可以利用這些日誌,將未提交的交易重播至資料庫中。

Exchange transaction logs are used for Exchange database recovery

Microsoft Exchange Server 2013、2016 和 2019 的 Exchange 資料庫預設路徑為:

C:Program FilesMicrosoftExchange ServerV15MailboxExchange_Database_Name.edb

建議將 Exchange Server 資料庫及其日誌檔案儲存於不同的磁碟區中。在本範例中,我們採用此做法。一台伺服器上的單一 Exchange 執行個體可能使用多個資料庫。

您可以在 Exchange 管理 Shell(亦稱為 Exchange Server PowerShell)中取得有關 Exchange Server 的資訊,該工具是基於 PowerShell 建置的命令列介面。要開啟 Exchange 管理 Shell,請在 PowerShell 主控台中執行以下命令:

LaunchEMS

在 Windows 圖形使用者介面中,請前往:

Start > Microsoft Exchange Server 2016 > Exchange Management Shell

接著,您可以使用此指令來取得有關 Exchange Server 的資訊:

Get-ExchangeServer

以下是更詳細的指令,用來找出所有 Exchange 資料庫,並顯示其名稱、位置及日誌路徑:

Get-MailboxDatabase | Select Name,EdbFilePath,LogFolderPath

Checking the information needed for Exchange data recovery

Exchange 資料還原主要有兩種方法:

  • 從備份還原
  • 在沒有備份的情況下還原或修復 Exchange 資料庫

讓我們來探討這兩種方法。

使用 Windows Server Backup 進行 Exchange 資料還原

Windows Server Backup 是 Windows 的原生資料保護特點,您可以藉此備份執行 Windows Server 的電腦上的資料,例如磁碟區、檔案和資料夾。若此台 Windows Server 電腦上已安裝 Microsoft Exchange Server,則透過 Windows Server Backup 的 Exchange 外掛程式,您可以使用 VSS 技術.

預設情況下,Windows Server Backup 特點處於停用狀態。您需要啟用此特點,才能執行備份及 Exchange 資料還原。

註: 您必須擁有一個 Exchange Server 備份 在進行 Exchange 資料還原之前,您必須在 Exchange 伺服器運作正常且尚未發生資料遺失時,先啟用原生的 Windows Server Backup。若您沒有備份,則在 Exchange 發生故障後,即使啟用 Windows Server Backup 進行 Exchange 備份也無濟於事。

啟用 Windows Server 備份

您必須啟用 Windows Server 備份特點,才能使用此原生備份工具。

  1. 在 PowerShell 中執行以下指令以啟用 Windows Server 備份:

    Install-WindowsFeature Windows-Server-Backup

    如果您偏好使用 Windows Server 中的圖形使用者介面 (GUI),請執行以下操作:

    開啟 Server Manager. 點擊 Manage > Add Roles and Features 並依照精靈的指示操作。在 Features 在精靈的此步驟中,請選取 Windows Server Backup.

    Enabling the Windows Server Backup feature for Exchange backup

  1. 曾經 Windows Server Backup 已啟用,請從”伺服器管理員”中執行此工具: Server Manager > Tools > Windows Server Backup

    Running Windows Server Backup

    現在,您可以建立 Exchange Server 及其他 Windows Server 元件的備份。

使用 Windows Server Backup 備份 Exchange

右鍵點擊 Local backup 在主視窗的左側窗格中 Windows Server Backup 視窗並點擊 Backup Schedule 在快顯選單中。

Running a backup schedule in Windows Server Backup

Backup Schedule Wizard 開啟。

  1. Getting Started. 請閱讀相關資訊,然後點擊 Next.
  2. Select Backup Configuration. 選擇 Custom. 點擊 Next 在精靈的每個步驟中,請點擊以繼續。Selecting a custom backup configuration for Exchange backup
  1. Select Items for Backup. 選取存放 Exchange Server 資料庫的磁碟區(分割區),以及存放 Exchange 資料庫日誌檔案的分割區。請務必選取磁碟區(一個或多個),而非檔案或資料夾。否則,在 Exchange 資料還原過程中可能會遇到問題。在本範例中, .edb 檔案儲存於 E: 而 Exchange 資料庫的日誌檔案儲存於 F:.

    註: 若要手動備份 Exchange Server 資料庫為特定檔案,請先卸載該資料庫。

    Adding items and opening advanced settings for Exchange backup

    點擊 Advanced Settings. 在 Advanced Settings 視窗,選取 VSS full backupVSS Settings 若要在建立備份後截斷 Exchange 資料庫日誌,請選取此分頁。若要保留日誌,或您同時使用其他備份應用程式來備份 Exchange,請選取 VSS copy Backup.

    Selecting the VSS backup type for Exchange

  1. Specify Backup Time. 您可以設定執行備份的時間。備份頻率可以是每天一次,或更頻繁。Specifying a backup time
  1. Select Destination Disk. 選取您要儲存 Exchange Server 備份的磁碟。在本例中,我們使用磁碟 G:Selecting a destination disk where to store the Exchange backup
    系統會顯示一則警告訊息,指出選取的磁碟上所有現有資料都將被刪除。請點擊 Yes 繼續。A notification message about reformatting after selecting a backup destination disk

註: Windows Server Backup 會將卷宗備份儲存於 VHDX 虛擬磁碟 對選取的磁碟/磁碟區進行格式化。若您正在備份的磁碟區大小未超過 VHDX 的最大限制,則無需擔心。

  1. Confirmation. 檢查已選取的設定,然後按一下 Finish.Confirmation of Exchange backup settings in Windows Server Backup
    您可以使用以下指令檢查 Exchange Server 資料庫的備份狀態:
    <p class=”1″>Get-MailboxDatabase -Status | Select Name,*backup*

    Checking the Exchange Server backup status

從 Windows Server Backup 還原 Exchange 資料

完成備份後,即可進行 Exchange 資料還原。

開啟 Windows Server Backup 視窗。右鍵點擊 Local Backup 然後在快顯選單中,點擊 Recover.

Starting Exchange data recovery from Windows Server Backup

Recovery Wizard 開啟。

  1. Getting Started. 選擇備份的位置。我們將備份儲存於這台伺服器上,因此選擇第一個選項。按下 Next 繼續。Selecting a disk with a backup for Exchange data recovery
  1. Select Backup Date. 選擇所需的備份日期(即還原點),例如,最新的可用備份。Selecting the date of a backup
  1. Select Recovery Type. 選擇 Applications. 該 應用程式 如果您在”Windows Server Backup”的備份設定中選取了檔案或資料夾,而非備份磁碟區,則此選項可能會處於非活動狀態(呈灰色)。

    註: 您可以選擇 Files and folders 並恢復 .edb 將 Exchange 資料庫檔案和日誌移至自訂位置。之後,您即可將這些檔案用作 Exchange 資料還原的還原資料庫。

    Selecting Applications as a recovery type for Exchange data recovery

  1. Select Application. 選擇 Exchange 作為申請追回的依據。Selecting Exchange as an application to recover
    1. Specify Recovery Options. 還原目的地有兩種選項:
      • Recover to original location. Exchange 檔案將還原至原始 Exchange 檔案所在的位置。您無法選擇要還原哪個資料庫。所有 Exchange 檔案都將被還原。
      • Recover to another location. 您可以選擇另一個位置,將 Exchange 資料從 Windows Server 備份還原至還原資料庫 (RDB)。隨後,您可以使用此 Exchange 還原資料庫來還原您的實際 Exchange 資料庫。還原至其他位置的 Exchange 資料庫處於”髒關機”狀態。

我們挑選 Recover to the original location.

Selecting Exchange data recovery to the original location

  1. Confirmation. 請確認先前選取的設定是否正確。
  2. 還原進度. 請等待 Exchange 資料還原完成。完成從備份還原 Exchange 資料後(本例中還原至原始位置),請掛載資料庫並檢查資料庫是否已成功還原。您可以依照下圖所示,在 Exchange 管理中心中掛載資料庫。Mounting an Exchange database after restoring from a backup
    我們可以在命令列中掛載 Exchange 資料庫:

    Mount-Database DB01 其中 DB01 是資料庫名稱。

    在 Exchange 管理命令列視窗中檢查資料庫狀態:

    Get-MailboxDatabase -Server -Status | fl Name,*FullBackup

在掛載資料庫後,您可能會看到一則錯誤訊息,指出無法掛載該資料庫。造成此錯誤的可能原因包括:儲存資料庫檔案的磁碟發生物理性損毀,或是因軟體錯誤、伺服器關機不當等原因導致的邏輯性損毀。該 eseutil 命令列工具可協助解決此問題。

在命令列中執行 Exchange 資料庫還原

複製 Exchange 資料庫檔案 (.edb) 並將日誌檔案儲存至磁碟上的自訂資料夾(例如, D:DBrecoveryDB01 ) 用於 Exchange 資料還原。您可以複製並使用前一步驟從 Windows Server Backup 還原的檔案。常見的做法是將資料庫及資料庫日誌資料夾從 Windows Server Backup 還原至自訂位置(例如, D:DBrecoveryDB01 ).

若您已選取 Files and folders (從 Windows Server 備份還原資料時)並已還原 .edb 並將 Exchange 檔案記錄至自訂位置,您可將這些檔案用於資料還原及建立 Exchange 還原資料庫。還原資料庫是一種特殊的 Exchange 資料庫,您可以在 Exchange 資料還原過程中將其掛載,並將資料還原至原始的 Exchange 資料庫。請為還原資料庫賦予一個唯一的名稱。

我們需要使用 eseutil 用於 Exchange 資料庫的還原及解決資料庫問題。

eseutil.exe 預設位置位於此資料夾中:

C:Program FilesExchange Serverbin

您可能需要在命令列或 PowerShell 主控台中切換至此目錄(如果此路徑尚未新增至 PATH Windows 中的變數)。

eseutil 透過指定資料庫檔案位置和交易日誌資料夾,以軟式方法進行資料庫還原的語法:

eseutil /R EXX /l <RDBLogFilePath> /d <RDBEdbFolder>

其中 EXX 是日誌產生前綴,例如 E00, E01, E02, 等等。

在進行 Exchange 資料庫還原之前,請先對資料庫進行診斷。

  1. 檢查您的資料庫目前處於何種狀態:

eseutil.exe /MH D:DBRecoveryDB01DB01.edb

狀態: Dirty Shutdown

這表示資料庫目前處於不一致的狀態,我們必須先解決此問題,才能在 Exchange Server 上使用此資料庫。

在下方的輸出結果中,您也可以看到有關哪些日誌是將 Exchange 資料庫狀態還原至 Clean Shutdown. 此資訊儲存於 .edb 資料庫標頭。

We need to perform Exchange database recovery by fixing the dirty shutdown state

  1. 檢查日誌是否未遭損毀:

eseutil.exe /ml E00

狀態 OK 若日誌未遭損毀,則必須顯示。

Checking Exchange transaction logs for Exchange database recovery

  1. 我們的日誌狀態良好,因此可以透過軟式還原方法執行 Exchange 資料庫還原。

eseutil /r E00 /l D:DBrecoveryDB01 /d D:DBrecoveryDB01

/l – 設定資料庫日誌的位置

/d – 使用設定目的地 .edb 我們需要透過日誌來復原該資料庫檔案,並使其恢復至乾淨狀態

Exchange database recovery using transaction logs with eseutil

  1. 請使用您熟悉的指令,檢查資料庫在還原後的狀態:

eseutil /R E00 /l D:DBrecoveryDB01 /d D:DBrecoveryDB01

該州是 Clean Shutdown 就我們目前的情況而言。

Exchange database recovery - the database state is clean shutdown

我們的資料庫目前運作正常,我們可以將此資料庫用作還原資料庫,例如用於 Exchange 信箱資料的還原。

從還原資料庫還原 Exchange 信箱

您可以透過還原資料庫,為特定使用者執行 Microsoft Exchange 信箱還原。

  1. 建立 Exchange 還原資料庫(使用現有的 .edb 檔案)並使用類似以下的指令:

New-MailboxDatabase -Recovery -Name <RDBName> -Server <ServerName> -EdbFilePath <RDBPathandFileName> -LogFolderPath <LogFilePath>

RDBName 必須是還原資料庫的唯一名稱。

在本例中,確切的指令是:

NewMailboxDatabase -Recovery -Name RDB01 -Server Win2019 -EdbFilePath D:DBrecoveryDB01DB01.edb -LogFolderPath D:DBrecoveryDB01

Creating the Exchange recovery database

  1. 您必須重新啟動該 Exchange Information Store 服務:

Restart-Service MSExchangeIS

或者,請前往 services.msc 在命令列中執行,並重新啟動 Microsoft Exchange Information Store 在 Microsoft 服務主控台的 GUI 視窗中查看該服務。

  1. 掛載還原資料庫:

Mount-database RDB01

  1. 檢查還原資料庫是否包含任何資料:

Get-MailboxStatistics -Database RDB01 | Format-Table DisplayName,MailboxGUID -AutoSize

輸出結果會顯示信箱名稱和 ID,這些資訊是用來將還原的 email 移至另一個信箱所需的。

另一種檢查 Exchange 還原資料庫中信箱的方法:

Get-MailboxStatistics -Database RDB01 | ft -AutoSize

Microsoft Exchange mailbox recovery – checking mailboxes in the database

  1. 例如,我們需要針對 ID 為:的 Microsoft Exchange 信箱執行信箱還原:

8aa77cb3-dc38-1f37-72e5-55702e737f52

從還原資料庫還原信箱的指令如下。您需要指定來源資料庫(還原資料庫)、還原資料庫中的信箱 ID,以及目標資料庫。

New-MailboxRestoreRequest -SourceDatabase RDB01 -SourceStoreMailbox 8aa77cb3-dc38-1f37-72e5-55702e737f52 -TargetMailbox DB01

如果您看到以下錯誤訊息:

Source mailbox legacuexchangedn doesn’t match

加入 -AllowLegacyDNMismatch 在指令的結尾處:

New-MailboxRestoreRequest -SourceDatabase RDB01 -SourceStoreMailbox 8aa77cb3-dc38-1f37-72e5-55702e737f52 -TargetMailbox DB01 -AllowLegacyDNMismatch

註: 恢復信箱的另一種方法是設定信箱名稱,例如: user1:

New-MailboxRestoreRequest -Name "User Mailbox Recovery" -SourceDatabase RDB01 - SourceStoreMailbox "user1" -TargetMailbox "user1"

Microsoft Exchange mailbox recovery in PowerShell

  1. 完成 Exchange 信箱還原後,您可以刪除信箱還原請求:

Get-MailboxRestoreRequest | where status -eq completed | Remove-MailboxRestoreRequest

  1. 接著,您可以卸載還原資料庫:

Dismount-Database RDB01

請嘗試透過 Outlook for the web 存取已還原的信箱,並確認該使用者所需的所有資料是否均已成功還原。

Exchange 資料庫的硬式還原

上文所述的 Exchange 資料庫還原方法屬於”軟還原”的範例。當資料庫檔案未受損且資料庫交易日誌仍存在時,即可適用軟還原。若未滿足這些條件,另一種 Exchange 資料還原方法便是”硬還原”(若您沒有 Exchange Server 備份)。硬還原會刪除 Exchange Server 資料庫中所有受損的資料,以使資料庫狀態保持一致。

  1. 修復損壞的資料庫。若 Exchange 資料庫的事務日誌遺失,請使用此指令:

eseutil /p E:DB01DB01.edb
Exchange database recovery – the hard recovery mode
系統顯示以下警告訊息:
The warning message displayed when starting hard Exchange database recovery

此程序無法撤銷,且完成此操作後可能會遺失部分資料。

點擊 OK 請繼續操作,並等待程序完成。

  1. 檢查資料庫是否位於 Clean Shutdown 狀態:

eseutil /mh E:DB01DB01.edb

  1. 修復完成後,請對資料庫進行碎片整理,因為從資料庫中刪除大量損壞的資料會導致資料庫效能下降:

eseutil /d E:DB01DB01.edb

將建立一個新的資料庫,並將我們已修復的舊資料庫中所有一致(正常)的資料轉移至新資料庫。

  1. 掛載已碎片整理完畢的資料庫:

Mount-Database E:DB01DB01.edb

  1. 請使用以下指令檢查此資料庫,以確保沒有任何問題:

Get-MailboxRepairRequest -Database E:DB01DB01.edb

已完成對損壞資料庫的 Exchange 資料庫還原作業。

使用 NAKIVO 進行 Exchange 資料還原

NAKIVO Backup & Replication 這是一款資料保護解決方案,可支援從實體或虛擬機器備份中還原 Exchange 資料。您可以還原特定的 Exchange Server 物件(例如信箱和電子郵件),亦可執行完整的 Exchange 資料庫還原。還原流程包含幾個步驟,皆可在產品的網頁介面中完成。

在主儀表板上,請點擊 Jobs > Recover > Microsoft Exchange objects 以啟動 Exchange Server 的還原程序。

Starting the Exchange data recovery job

請依照 Object Recovery Wizard.

  1. 選擇備份與還原點。透過靈活的保留政策,您可以還原不同時間區間內的項目。

Selecting a backup and recovery point for Exchange data recovery

  1. 選擇一臺還原伺服器。請選擇已安裝 Microsoft Exchange Server 的原始電腦,或是另一臺用來還原 Exchange Server 資料的電腦。

Selecting a machine to which to recover the Exchange Server data

註: 若要復原特定的email並將其下載為 PST 若要透過網頁瀏覽器傳輸檔案,您需要設定 system.exchange.enable.direct.recovery 位於”專家設定”頁面中的參數,可透過以下地址存取:
https://localhost:4443/c/configuration?expert or
https://localhost:4443/c/configuration?action=&targetId=&backUrl=&wizard=false&expert

  1. 選取要還原的 Exchange 物件。您可以還原整個 .edb 資料庫,或選取特定的信箱和email。您也可以搜尋所需的 Exchange Server 物件,以提升便利性。

Exchange data recovery – selecting objects to recover

  1. 選擇還原選項,例如還原類型和覆寫行為:
  • 還原至原始位置 – 選取的物件將還原至伺服器或虛擬機器上的原始位置。
  • 還原至自訂位置 – 讓您能夠選取一台電腦,並指定要還原物件的路徑。
  • 匯出至自訂位置 – 讓您能夠將選定的 Exchange 物件(包括整個信箱)匯出至本機資料夾或 CIFS (SMB) 共用資料夾。

“覆寫行為”用來設定當項目已存在時該如何處理:

  • 重新命名已還原的項目
  • 跳過已恢復的項目
  • 覆寫原始項目

Selecting Exchange data recovery options

  1. 請等待 Exchange 資料還原完成。

結論

進行 Exchange 資料還原的最佳方法,是透過專業且全面的資料保護解決方案,從備份中進行還原。您可以使用 NAKIVO Backup & Replication 用於為運行於實體或虛擬機器上的 Exchange Server 建立一致性備份,並提供多種靈活的快速還原選項。該產品亦支援 Active Directory 物件的還原 這些可能是 Exchange Server 正常運作所必需的。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面探索本解決方案的所有資料保護功能。15 天免費試用。無任何特點或容量限制。無需提供信用卡資訊。

People also read