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 管理殼層(亦稱為 Exchange Server PowerShell)中取得有關 Exchange Server 的資訊,該介面是建構於 PowerShell 之上的命令列介面。要開啟 Exchange 管理殼層,請在 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 Server 運作正常且尚未發生資料遺失時,先啟用原生的 Windows Server Backup。若您沒有備份,即使在 Exchange 發生故障後啟用 Windows Server Backup 也無濟於事。

啟用 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 資料庫的備份狀態:

    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 /d

哪裡 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 -Server -EdbFilePath -LogFolderPath

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 網頁版存取已還原的信箱,並確認該用戶的所有必要資料是否已成功還原。

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 正常運作所必需的。

1 年免費資料保護: NAKIVO Backup & Replication

1 年免費資料保護: NAKIVO Backup & Replication

2 分鐘即可部署,並保護虛擬、雲端、實體及 SaaS 資料。提供備份、複製與快速還原選項。

People also read