原始文章於 2012 年 2 月 6 日星期一發佈

概觀

這個部落格包含兩個部分,當中會概述當環境中的一或多個公用資料夾遭意外刪除時,系統管理員可使用的幾個還原選項。第一部份將會解釋這些選項,第二部分則會概述選項背後的公用資料夾架構概念。

簡介

在舊版 Exchange 中,信箱與信箱資料庫的還原程序時間既長且複雜,這些程序包含備份、還原伺服器、以及變更 Active Directory。在後續的版本已引進更多還原功能 (還原儲存群組/資料庫、資料庫複寫等等),而在我們現處的環境中,還原信箱是一個在平凡不過的作業,更沒聽說過需要還原信箱資料庫。但是信箱不只是 Exchange Server 2010 信箱伺服器中唯一儲存的資料,所以還原公用資料夾及公用資料夾資料庫的程序與還原信箱的程序有非常大的不同。

還原選項檢閱

前兩個還原選項在 TechNet 或 Exchange 小組部落格網站中已經有詳細的介紹,因此我只簡單地在此列出這兩個選項,然後會往下繼續談到這個部落格的重點。在 Exchange Server 2010 中,公用資料夾及公用資料夾資料庫的的還原選項如下,從最簡單到最複雜依序排列:

  1. 透過 Outlook 還原已刪除的資料夾 (在 http://technet.microsoft.com/zh-tw/magazine/dd553036.aspx (可能為英文網頁) 中有詳細說明)。

    附註:Exchange Server 2010 Service Pack 2 修正了使用者無法使用 Outlook 還原已刪除公用資料夾的問題。這也是要請您盡早將 Exchange Server 2010 系統升級到 SP2 的原因。

  2. 透過 ExFolders 還原已刪除的資料夾 (http://blogs.technet.com/b/exchange/archive/2009/12/04/3408943.aspx (可能為英文網頁))。
  3. 透過公用資料夾資料庫還原來還原資料夾。

第一個選項是最簡單且最淺顯易懂的 - 如果使用者意外刪除資料夾,他應該能使用 Outlook 來還原刪除的資料夾。若無法還原,系統管理員應該能夠使用 ExFolders 來還原該資料夾。但是,如果這兩個選項不適用您的狀況呢?如果使用者未察覺他已經刪除了資料夾,且已經過了一個月,該怎麼辦?或者您的組織已經變更刪除公用資料夾的保留設定,並且消除了垃圾桶,該怎麼辦?在這個狀況下,您如何還原公用資料夾呢?

還原選項

公用資料夾還原的核心中有一個令人痛苦的事實:您無法在刪除組織的公用資料夾後,以為只要還原前版的公用資料夾資料庫就能還原公用資料夾。如果您從備份還原公用資料夾資料庫,然後將它放回生產環境中,則只有在伺服器接收複寫訊息時,您才看的到公用資料夾。因為公用資料夾階層 – 環境中的所有資料夾清單 – 已不包含已刪除的資料夾,所以從 Exchange 的角度來看,目標伺服器擁有的資料庫副本也不存在。只要公用資料夾資料庫接收到階層更新,它會認為這些公用資料夾不存在階層中,所以儲存區會再次刪除公用資料夾。既然您無法透過 [公用資料夾管理主控台] (甚至是透過 adsiedit.msc) 來編輯階層,您就無法手動將公用資料夾新增回去。因此,在這個限制之下,我們要怎麼還原該公用資料夾呢?

請考量以下幾點:

  • 如果您不將每個資料夾複寫到每個資料庫,則您需要刪除所有目前的資料庫,然後從備份還原任何包含唯一內容的資料庫。 當然這只有在您擁有最新備份的時候有效,並且因為您將要刪除所有現有的資料庫,您也需要匯出上次備份後產生的內容。刪除���必要的,因為如果還原的公用資料夾儲存區收到其中一個現有公用資料夾儲存區的階層複寫,整個作業就無效了。
  • 如果將所有資料夾複寫到環境中的所有儲存區,您可刪除所有儲存區,只還原一個資料庫,然後從該資料庫中將內容複寫到其他伺服器上。同樣的,此作業會根據擁有重複內容的所有資料庫而不同,而且您「必須」刪除所有現有的資料庫,才能從備份還原資料庫。
  • 您可以將公用資料夾資料庫的備份還原到獨立的 Exchange 環境中、使用 Outlook 連線到公用資料夾資料庫、將所有內容匯出到多個 PST、在生產環境中建立新資料夾且資料夾名稱與已刪除資料夾的名稱相同,然後匯入所有內容。顯然地,這個手動程序是多數系統管理員不願意做的。

建議的還原程序

值得慶幸的是,現在有個更簡單的程序,不需大費周章即可進行。

  1. 在環境中選取其中一個現有的公用資料夾伺服器。[使用現有的伺服器可稍稍簡化程序。] 您將會把這個系統與它的複寫夥伴獨立出來,因此請選取一個不是許多內容的來源且需要複寫的系統。
  2. 使用 [登錄編輯器] 將 Replication 登錄機碼值 (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\<servername>\Public- <GUID of Public Store>) 設定為 [0] (零)。

    附註:如果 DWORD 機碼不存在,請建立這個機碼。有關 Replication 登錄機碼的詳細資訊可於<組織中的一部 Exchange 伺服器未發生複寫> (http://support.microsoft.com/kb/812294/zh-tw) 文章中取得。這個登錄機碼也適用於 Exchange Server 2007 及 2010。

  3. 使用一般的還原程序,立即還原公用資料夾資料庫。
  4. 使用 Outlook 用戶端、登入使用還原的公用資料夾資料庫作為預設公用資料夾儲存區 (必須這樣才能看到還原的資料夾) 的信箱。如果您的信箱資料庫沒有使用公用資料夾資料庫作為預設值,請建立新的信箱資料庫 (建議作法) 或將現有的信箱資料庫變更為使用剛還原的公用資料夾資料庫。
  5. 視需要按一下 [導覽] 畫面左下方的 [資料夾] 圖示,然後展開公用資料夾節點。
  6. 將您要還原的每個資料夾複製到公用資料夾階層的其他位置。如果您要還原整個階層,只要按住 Ctrl 後拖拉根資料夾,就可建立所有子資料夾的新副本。雖然新資料夾的名稱與原始資料夾類似,但是基礎的資料夾識別碼 (FID) 是不同的。
  7. 建立完所有資料夾的副本後,請驗證複本清單包含所有想要的目標 (並視需要重新設定)。
  8. 現在,就可安全地將伺服器重新導入生產環境中。若要這麼做,請卸載公用資料夾資料庫、刪除 Replication 登錄機碼 (或設定為1),然後重新裝載資料庫。
  9. 在階層複寫到伺服器後,原始的資料夾會再次消失,但是資料夾副本會複寫到所有複寫夥伴。

您可能需要將啟用郵件的公用資料夾新增回通訊群組中,因為他們的 SMTP 位址可能會與原始資料夾中的不同。使用者也需要重新在 Outlook 中建立公用資料夾的我的最愛。

摘要

要還原意外刪除的公用資料夾可能會很困難,特別是您未考慮到階層複寫時。藉由還原到獨立的環境,然後複製要還原的資料夾,您可以暫時解決這項限制,並還原遺失的內容。在下一個部落格文章中,我將會解釋公用資料夾的基礎架構 (包含複寫、變更數字、以及複寫狀態表),以說明為什麼這些步驟非常重要。

John Rodriguez
Principal Premier Field Engineer
Microsoft Premier Support

這是翻譯後的部落格文章。英文原文請參閱 Recovering Public Folders After Accidental Deletion (Part 1: Recovery Process)