完全失去 Active Directory 後如何從 Exchange 2013 數據庫中恢復數據?
場景:Windows Server 2003 AD 域中的單個 Exchange 2013 伺服器;一個 DC 幾個月前發生故障並被解僱(沒有適當的降級,不少於);另一個 DC 昨天死了,沒有可用的備份。簡單地說,那個廣告已經不復存在了。
Exchange 伺服器是完全可操作的,但 Exchange 本身當然不是;但是,數據庫文件是安全的,甚至可以使數據庫進入乾淨的關閉狀態。
AD 域必須從頭開始重建;沒什麼大的損失,這是一家小公司,20 台 PC 需要重新加入新域,20 位使用者將面臨乾淨的使用者配置文件,一些文件共享需要重新 ACL,但總的來說這不是一個大災難(儘管它確實教會了他們,雖然擁有一個 DC 只是意味著自找麻煩,但擁有一個 DC而沒有備份則要瘋狂得多)。
該公司實際上對重新啟動 Exchange 並不感興趣:他們承認他們完全不適合執行比文件伺服器更複雜的東西,並且全心全意地遷移到 Office 365;但是,他們希望恢復其 Exchange 數據。
我可以建構任何我需要的實驗室環境,因此創建一個新的 AD 和一個新的 Exchange 2013 伺服器是沒有問題的;但是,為了在新的 AD/Exchange 環境中安裝恢復的數據庫,我實際上需要什麼?
幾年前我用 Exchange 2003 做到了這一點,這是一種皇家痛苦;它有效,但它需要Exchange 配置的每一位都匹配,從 AD 和 Exchange 組織名稱到數據庫路徑和使用者名。但是,我們現在有了 Exchange 2013,它有很多不錯的改進,應該讓事情變得更容易:管理/路由組不再存在,新的儲存架構廢除了儲存組並將數據庫與伺服器解耦,最後還有傳說中的數據庫可移植性(但它只在同一組織中的伺服器之間工作)和絕對可愛的恢復數據庫。
我所知道的:已失效的 AD 域的名稱、Exchange 伺服器的名稱、數據庫名稱及其文件路徑、Exchange 2013 版本 (CU3)。
我不知道:交換組織的名稱(我可以猜到但我不能確定),使用者登錄名(同上)。
為了掛載 Exchange 數據庫並執行多個 MailboxExportRequests,這些參數中有多少仍需要匹配?這個恢復過程是否有所改進,還是仍然需要手動操作?恢復數據庫會有所幫助嗎(我只需要掛載數據庫並導出數據,而不是實際使用它)?
它甚至可以像“只需啟動一個新的 Exchange 伺服器、創建一個空數據庫、複製恢復的文件、安裝數據庫並導出所有內容”一樣簡單……還是我們肯定還沒有完成?
原來這比我預期的要容易得多。
任何 Exchange 2013 數據庫都可以安裝在任何 Exchange 2013 伺服器上,而與組織和/或 Active Directory 域無關(儘管伺服器可能需要相同或更高的 CU 級別)。
如果在伺服器上掛載了一個外部數據庫,它將完美地工作,甚至可以用來儲存新的郵箱;數據庫中的所有郵箱都將被視為斷開連接的郵箱,它們可以連接到使用者帳戶,可以毫無問題地使用,並且(當然)可以導出。
數據庫可移植性,確實!畢竟,看起來我們還在那裡。
因此,當原始環境不可用時,從 Exchange 數據庫恢復數據的過程如下:
- 建構一個新的 Active Directory 域和一個新的 Exchange 2013 伺服器(或者甚至使用現有的,如果有的話);它們可以隨心所欲地命名,所有名稱都是完全無關的。
- 創建一個新的空郵箱數據庫;數據庫名稱和文件路徑根本不重要。
- 允許從還原中覆蓋數據庫。
- 從原始伺服器獲取 EDB 文件並確保它處於完全關閉狀態(如果不是,請使用
eseutil
原始事務日誌來執行標準數據庫恢復)。- 將 EDB 文件放在新 Exchange 伺服器希望找到新數據庫的位置(如果需要,您可以重命名它)。
- 掛載數據庫。
Get-MailboxStatistics
使用cmdlet獲取數據庫中的郵箱列表。- 根據需要創建盡可能多的使用者帳戶以重新連接要恢復的郵箱。
Connect-Mailbox
使用cmdlet將數據庫中的郵箱連接到新使用者帳戶。就是這樣; 現在您可以使用恢復的郵箱,也可以使用
New-MailboxExportRequest
cmdlet 將它們導出為 PST 文件。