场景: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 数据库恢复数据的过程如下:
eseutil
原始事务日志来执行标准数据库恢复)。Get-MailboxStatistics
使用cmdlet获取数据库中的邮箱列表。Connect-Mailbox
使用cmdlet将数据库中的邮箱连接到新用户帐户。而已; 现在您可以使用恢复的邮箱,也可以使用
New-MailboxExportRequest
cmdlet 将它们导出为 PST 文件。如果您只想恢复项目,那么是的,就像您说的那样简单,但是您的步骤有点偏离。
Restart-Service MSExchangeIS
New-MailboxRestoreRequest
命令。如果不明显,您将需要足够的可用空间来拥有邮箱数据库的第二个副本。
请注意,任何特殊文件夹权限、委派、完全访问权限和代理发送权限都将被破坏或丢失。
然而,这一切的光明面是没有什么需要匹配的。您只需向 提供源邮箱和目标邮箱
New-MailboxRestoreRequest
,它就会复制项目。您可能必须找出旧的 x.500 地址并将它们添加到新邮箱中。否则,回复旧消息将无法正常工作。