Exchange Server 2010數據庫崩潰還原過程

客戶公司Exchange Server 2010 郵箱數據庫數據損壞,所幸之前使用DPM進行過數據庫備份,臨時建立一個空庫以知足你們發往郵件的須要。兩天後,原DPM中的數據庫恢復成功,那麼新建的數據庫就須要和還原的數據庫進行合併,操做步驟以下:數據庫

1.DPM中還原數據庫到一個文件夾中,這個操做很簡單,大體以下圖所示:服務器

p_w_picpath

根據提示將數據庫還原到指定文件夾,而後複製到Exchange的MBX服務器上,例如,複製到e:\olddb下。ide

2. EMS上新建一個數據庫,名稱能夠自擬,而後卸載此數據庫,再對數據庫屬性--維護--「還原時能夠覆蓋此數據庫(T)"勾上。rest

3. 使用eseutil /mh命令進行驗證DPM還原過來的數據庫文件的狀態,以下所示:日誌

c:\program file\exchsrvr\bin>eseutil /mh "E:\olddb\userdb-01.edbblog

必須確保,狀態是cleanshutdown。若是不是,則須要對此數據庫文件進行修復,以下所示:ip

c:\program file\exchsrvr\bin>eseutil /p "E:\olddb\userdb-01.edb"rem

此時,可能會彈出,強制關閉數據庫的提示,點擊,是便可。get

而後,再次查看數據庫文件的狀態。應該就是cleanshutdown。it

4. 將DPM還原過來的數據庫文件名改成剛新建的數據庫文件的名稱,而後mount。若是不成功,則再修復,必須保證是cleanshutdown狀態。

導出全部用戶郵箱至pst文件:

p_w_picpath

具體命令以下:

$i=ForEach-Object{Get-Mailbox -Database uec-users01}
$Path=New-Item -Path "\\ex-bj-cashub-02\D$\testpst\" -Name $i.alias -ItemType directory -Force
$i | ForEach-Object {New-MailboxExportRequest -Mailbox $_ -FilePath "$Path\$($_.Alias).pst"}

 

若是是導出單個用戶就很簡單:New-MailboxExportRequest  -Mailbox  -filepath p_w_picpath

 

查看導出請求: Get-MailboxExportRequest

以下圖所示:

p_w_picpath

 

PST文件導入到用戶郵箱:

本示例導入共享文件夾上的全部 .pst 文件。在相應用戶的別名後命名每一個 .pst 文件名。命令爲全部 .pst 文件建立導入請求並將數據導入到匹配的郵箱。

[PS] C:\>Dir \\ex-bj-cashub-02\d$\testpst\*.pst | %{ New-MailboxImportRequest -Mailbox $_.BaseName -FilePath $_.FullName }

p_w_picpath

查看導入狀態:  [PS] C:\>Get-MailboxImportRequest

 

刪除導入請求:Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequest

刪除導出請求:Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

p_w_picpath

 

注意:

1. 對現有郵箱進行備份

2.  全部郵件恢復成功以後,只在存在收件箱裏,下次再恢復的時侯,不會再恢復,避免重複。 並且是合併,不是覆蓋。

 

利用PST文件的導出、導入是能夠的,可是效率不高,能夠直接建立一個恢復數據庫,而後直接合並,以下面所述:

1. 建立一個恢復數據庫:

New-MailboxDatabase -Recovery -Name "RDBUSERDB01" -Server mail -EdbFilePath "d:\DBOLD\userdb-01.edb" –LogFolderPath "d:\DBOLD\USEDB01log"

2.  必須確保,狀態是cleanshutdown。若是不是,則須要對此數據庫文件進行修復, /p  直接略過日誌文件以下所示:

c:\program file\exchsrvr\bin>eseutil /p "d:\olddb\userdb-01.edb"

p_w_picpath

p_w_picpath

若是報錯,能夠多嘗試兩次,這個250GB的文件,大約1個半小時左右。

也可使用 /r進行軟修復   將日誌文件提交到數據文件

eseutil /r e02 /l d:\olddb\userdb-01log /d d:\olddb\userdb-01。這條命令是將viplong中的日誌commit到vipdb中的數據庫文件。

打開恢復數據庫日誌文件夾,能夠看到日誌文件都以E02開頭,若是不是以E02開頭的,則須要作相應改動。

3.  使用mount-database rdbvip掛載恢復數據庫,也能夠在EMC控制檯中對rdbvip進行掛載。

4. 掛載恢復數據庫以後,在Exchange服務器的EMS中運行restore-mailbox –Identity user1 –RecoveryDatabase rdpuserdb01。這條命令的做用是將恢復數據庫中的user1郵箱內容和當前的user1郵箱進行合併。

若是是合併全部用戶的郵件,則使用命令:

Get-Mailbox -Database userdb-01 | Restore-Mailbox -RecoveryDatabase rdbuserdb-01


 
最後,卸載並刪除恢復數據庫:
dismount-database –identity RDB  或手工卸載
remove-mailboxdatabase –identity RDB 或手工操做
相關文章
相關標籤/搜索