如何在 Active Directory 完全丢失后从 Exchange 2013 数据库恢复数据?

Mas*_*imo 7 disaster-recovery exchange 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 组织的名称(我能猜到但我不能确定),用户登录名(同上)。

这些参数中有多少仍需要匹配才能装载 Exchange 数据库并运行多个 MailboxExportRequests?这个恢复过程是否有所改善,还是仍然痛苦地手动?恢复数据库会有所帮助吗(我只需要挂载数据库并导出数据,而不是实际使用它)?

它甚至可以像“启动一个新的 Exchange 服务器,创建一个空的数据库,复制恢复的文件,挂载数据库并导出所有内容”一样简单……或者我们还没有完全到位吗?

Mas*_*imo 6

事实证明,这比我预期的要容易得多。

任何 Exchange 2013 数据库都可以挂载在任何 Exchange 2013 服务器上,无论组织和/或 Active Directory 域如何(尽管服务器可能需要相同或更高的 CU 级别)。

如果在服务器上挂载了一个外部数据库,它将完美运行,甚至可以用来存储新的邮箱;数据库中的所有邮箱都将被视为断开连接的邮箱,它们可以连接到用户帐户,可以毫无问题地使用,并且(当然)可以导出。
数据库可移植性,确实!看起来我们到那一步,毕竟。

因此,当原始环境不可用时,从 Exchange 数据库中恢复数据的过程如下:

  • 构建一个新的 Active Directory 域和一个新的 Exchange 2013 服务器(或者甚至使用现有的,如果有的话);它们可以随意命名,所有名称都完全无关。
  • 创建一个新的空邮箱数据库;数据库名称和文件路径根本不重要。
  • 允许从还原中覆盖数据库。
  • 从原始服务器获取 EDB 文件并确保它处于干净的关闭状态(如果不是,请使用eseutil原始事务日志来执行标准数据库恢复)。
  • 将 EDB 文件放置在新 Exchange 服务器希望找到新数据库的位置(如果需要,您可以重命名它)。
  • 挂载数据库。
  • 使用Get-MailboxStatisticscmdlet获取数据库中邮箱的列表。
  • 根据需要创建尽可能多的用户帐户以重新连接要恢复的邮箱。
  • 使用Connect-Mailboxcmdlet将数据库中的邮箱连接到新用户帐户。

就是这样; 现在您可以使用恢复的邮箱,或者您可以使用New-MailboxExportRequestcmdlet将它们导出到 PST 文件。