修復 Exchange 2010 公用資料夾資料庫

摘要:修復 Exchange 2010 公用資料夾資料庫

過年前 Exchange Server 上的公用資料夾資料庫出了問題,無法裝載。

結果過年放假太開心了,把這件事給忘記了,過年後又忙著其他事情,今天看到事件檢視器才突然想起這件事情。

 

打開事件檢視器,可以看到錯誤訊息如下:

首先先用 eseutil /mh D:\Mailbox\Public_Folder_DB\Public_Folder_DB.edb 檢查資料庫狀態,結果發現 State 這個狀態欄位是顯示 Dirty Shutdown

所以先將檔案複製一份出來到 D:\Public_Folder_DB  ,免得不小心弄壞

使用 eseutil /p D:\Public_Folder_DB\Public_Folder_DB.edb 先嘗試修復資料庫

 

修復完成以後,使用 eseutil /mh D:\Mailbox\Public_Folder_DB\Public_Folder_DB.edb 檢查資料庫狀態,

這時候發現 State 這個狀態欄位已經顯示成 Clean Shutdown

 

先嘗試要裝載公用資料夾,可是打開管理主控台,資料庫管理這邊卻看不到公用資料夾的資料庫

嘗試用指令 Mount-Database Public_Folder_DB 裝載資料庫,也是收到無法裝載的錯誤訊息。

於是接著嘗試著建立一個新的同名資料庫,卻也一直收到資料庫已存在的錯誤訊息

然後試著用指令 Remove-PublicFolderDatabase "Public_Folder_DB" 要刪除這個資料庫,卻又一直收到物件不存在的錯誤訊息。

最後乾脆打開 ADSIEdit 刪除這個資料庫的紀錄

 

刪除以後,先試著建立一個同名的 Public_Folder_DB 公用資料夾資料庫,但是不裝載。

終於可以在資料庫管理中看到你了。

將剛剛修復後的 Public_Folder_DB.edb 複製進這個新的 Public_Folder_DB 資料庫的存放的資料夾中,

試著裝載這個資料庫,結果發現仍然出現錯誤訊息。

下指令 Set-PublicFolderDatabase "Public_Folder_DB" -AllowFileRestore:$true ,讓 Public_Folder_DB 資料庫可以被覆寫

然後再裝載就成功了

不過其實我也有疑問,把原本的資料庫放回去然後再讓他可以被覆寫以後再掛載,這樣原本裡面的東西還在嗎? 還可以存取嗎?

目前能力有限,還不知道怎樣去驗證,不過我開啟工具箱那邊的公用資料夾管理主控台來查看的時候,看到【預設公用資料夾】裡面是空的。

但我也忘記是我之前就清空的,還是被蓋掉,還是在修復過程中消失的。

但是在【系統資料夾】那邊卻又看到有些以前建立過的一些東西,

所以到底真相是如何?哪天有得到答案的時候再來補足