1. 程式人生 > >Exchange 2013數據庫可移植性恢復用戶數據庫(二)

Exchange 2013數據庫可移植性恢復用戶數據庫(二)

服務器 Exchange


案例講述:

我目前環境中有一套Exchagne01和Exchange02服務器,全部是全角色安裝的exchange2013CU8的系統。

這兩臺服務器同屬一個DAG組,由於特殊原因DAG的故障轉移群集出現問題,無法正常恢復,導致用戶郵箱不能訪問。

目前發現Exchange01上的數據庫被動副本數據復制不正常,Exchagne02上的數據庫主動副本數據內容正常。


此過程中服務器DAG組無法恢復正常,用戶沒法訪問郵箱。多次嘗試也不能將Exchange01或者Exchange02任意一臺從DAG中刪除。


為了盡快恢復用戶訪問,我們在環境中全新部署了Exchange04服務器,該服務器正常運行,可以新建用戶和數據庫副本。

隨後我們將Exchange02服務器上正常的數據庫副本拷貝到了Exchange04的默認數據庫副本目錄下。

如何才能使這個正常的數據庫副本掛載到Exchange04上,使用戶可以正常訪問郵箱

解決方案如下:

使用數據庫可移植性移動郵箱數據庫

https://technet.microsoft.com/zh-cn/library/dd876926(v=exchg.150).aspx

數據庫可移植性是使 Microsoft Exchange Server 2013 郵箱數據庫移動到或裝入同一組織中的任何其他郵箱服務器的功能,此組織運行具有相同數據數據庫架構版本的數據庫的 Exchange 2013。以前版本的 Exchange 的郵箱數據庫無法移動到運行 Exchange 2013 的郵箱服務器。通過使用數據庫可移植性,可以免除恢復過程中容易導致錯誤的多個手動步驟,從而提高可靠性。此外,數據庫可移植性可減少各種故障情況的總恢復時間。

當使用數據庫可移植性恢復郵箱數據庫時,操作系統版本、源上的 Exchange Server 版本以及目標 Exchange 服務器必須相同。 例如,如果 Exchange 2013 郵箱數據庫之前已裝入運行 Windows Server 2012 的服務器,那麽只有在將數據庫遷移到同樣運行 Windows Server 2012 和 Exchange 2013 的服務器上時,數據庫可移植性才能正常使用。

數據庫可移植性

https://technet.microsoft.com/zh-cn/library/dd876873(v=exchg.150).aspx


關於將已經不正常的數據庫進行修復,即保證Exchange02上的數據庫可以被正常移植到Exchange04上。

請一定確保數據庫能夠正常mount之後恢復郵箱:

  1. 確認數據庫是否處於clean shut down 的模式 (這個數據叫A)

eseutil /mh “database file name”

技術分享圖片

· 確保數據庫文件處於clean shutdown的狀態

技術分享圖片

  1. 如果數據庫文件處於dirty shutdown狀態,我們可與運行如下命令行去修復數據庫文件:

Eseutil /r E01

註意:E01這個check point文件要和你日誌文件夾裏的check point文件的名字一致

技術分享圖片

  1. 如果soft recovery 失敗,需要運行如下命令行進行硬修復,但是這樣會存在部分數據丟失的情況:

eseutil /p “database file name”

  1. 此時新建恢復用的數據庫(B),確保數據庫可以正常mount。然後設置如下參數:

技術分享圖片

  1. 此時卸載新的數據庫,把原來的數據文件拷貝到當前數據庫文件夾所在的路徑,然後將B名字改成C,將A的名字改成B。這裏是指EDB文件的名字。
  2. 針對還在舊的down掉的數控庫裏的郵箱,運行如下命令行恢復到新的數據庫上:

Get-Mailbox “mailbox name” |Set-Mailbox –Database “B”

PS:其實之前如果沒有做過別的操作的話,正常情況下,我們只需運行如下命令行針對全DB恢復就可以了:

Get-Mailbox –Database “A” |Set-Mailbox –Database “B”

  1. 如果用戶郵箱已經先運行如下命令行收集斷開的郵箱的信息:

Get-MailboxStatistics –Database “B” | Where { $_.DisconnectReason -ne $null } | fl DisplayName,MailboxGuid,Database,DisconnectReason,identity

  1. 運行如下命令行連接到對應的AD賬戶:

Connect-Mailbox -Identity "上面命令行裏導出的Identity" -Database B -User "AD 用戶名" -Alias “Alias”

  1. 全部操作完需要重啟IS 和 IIS服務。

Exchange 2013數據庫可移植性恢復用戶數據庫(二)