若是公司的郵箱服務器掛了,咱們又沒有作高可用,這個時候咱們須要儘快地恢復郵箱數據庫,而且保證郵箱正常收發郵件。如今咱們須要用到郵箱數據庫的備份了,通常狀況下,咱們會把數據庫備份在共享存儲中,或者至少是備份在另外一臺服務器上。咱們採用的方法是將存儲裏面的數據庫文件複製出來,在新的服務器上部署Exchange並建立新的數據庫,而後將源數據庫文件覆蓋到新數據庫文件中,最後把源數據庫中的全部用戶移植至新的數據庫。數據庫
1、源服務器的數據庫以下,咱們用「DataBase01」數據庫來作實驗:服務器
二、在「DataBase01」中,有兩個用戶:「張三」、「李四」,以下圖:網絡
三、下面查看源數據庫中的「張三」和「李四」的郵箱狀況,以下圖:ide
四、咱們須要把源服務器的數據庫文件連目錄一併複製出來,以下圖:spa
五、安裝新的Exchange服務器:3d
當源服務器崩潰後,咱們須要在同一域的網絡環境下安裝一臺新的Exchange服務器,在進行安裝步驟前須要注意:重命名新服務器,名稱不能與源服務器名稱相同,不然沒法安裝;而且須要加入域。日誌
在新服務器上安裝角色。orm
按順序安裝組件。blog
安裝Exchange,安裝好後,重啓服務器。部署
六、驗證源數據庫文件夾複製到新服務器上,以下圖:
驗證源數據庫是否處乾淨關閉狀態:
打開EMS,輸入如下命令:
Eseutil /mh"c:\DataBase01\DataBase01.edb"
查看命令執行結果,驗證「State」的值是否爲「Clean Shutdown」,以下圖:
若不是,請執行郵件數據庫修復:
Ø 修復分爲兩種,a、軟修復 ,b、硬修復。
通常狀況下,經過軟修復和整理數據庫,但大部分狀況都須要經過硬修復才能解決。
使用Eseutil 將該數據庫置於乾淨關閉狀態。在示例中,EXX 是數據庫的日誌生成前綴(例如,E00、E0一、E02等)。
Eseutil /R EXX /l <RDBLogFilePath> /d <RDBEdbFolder>
如下示例說明了 E00日誌生成前綴、恢復數據庫和日誌文件路徑E:\Databases\RDB1:
Eseutil /R E00 /l E:\Databases\RDB1 /d E:\Databases\RDB1
使用如下命令進行將還原的數據庫進行處理乾淨
Eseutil.exe /R e00 /A /l " c:\database01" /d " c:\database01"
軟修復後,如狀態仍爲dirtyshutdown,請使用以下命令硬修復:
Eseutil /P "c:\DataBase01\DataBase01.edb"
七、在新服務器上建立新數據庫「DataBase02」:
打開ECP管理界面——「服務器」——「數據庫」,點擊「+」添加按鈕,以下圖:
輸入新數據庫名,並選擇所在服務器,以下圖:
八、卸除剛建立好的新數據庫database02,以下圖:
九、設置新數據庫爲「還原時可被覆蓋」,選中「DataBase02」,點擊「編輯」按鈕,以下圖:
打開編輯對話框,選擇「維護」選項卡,而後勾選「還原時能夠覆蓋此數據庫」,以下圖:
十、把源數據庫文件名「DataBase01.edb」改成「DataBase02.edb」,以下圖:
十一、把改過名的源數據庫文件複製過來(複製到database02目錄下),覆蓋到新數據庫文件「DataBase02.edb」,以下圖:
十二、從新裝入「DataBase02」,以下圖:
1三、最後一步,把源(舊的被破壞了的數據庫名)數據庫「DataBase01」中的全部用戶(此操做僅爲用戶關聯)遷移到新數據庫「DataBase02」下:
打開EMS執行以下命令:
Get-Mailbox -Database DataBase01 |where {$_.ObjectClass –NotMatch '(SystemAttendantMailbox|xOleDbStemMailbox)'}|Set-Mailbox -Database DataBase02
執行結果以下:
驗證用戶遷移是否遷移到「DataBase02」中,執行以下命令,結果以下圖:
14、驗證新郵箱服務器數據及運行狀況:
驗證用戶郵箱數據是否恢復,分別登錄「張三」和「李四」的郵箱,查看郵箱狀況,發現郵箱數據均已恢復。
到此,郵箱故障恢復已經完成,後面還須要從新申請Exchange證書,纔可供用戶正常使用。