我有一位客户最近将他们的 Exchange 服务器从 2007 升级到 2010。
另一对技术人员执行了迁移,他们留下了旧的原始数据库。现场总经理想恢复几年前的一些电子邮件,但它们很可能在旧数据库中。
因此我尝试通过使用以下命令将 2010 年的数据库安装为恢复数据库:
New-MailboxDatabase -Recovery -Name <RDBName> -Server <ServerName> -EdbFilePath <RDBPathandFileName> -LogFolderPath <LogFilePath>
EDB 确实添加到了 exchange 中,但无法挂载,我们认为原因是服务器上的磁盘空间不足(VM 的最大容量已经达到 2TB,因此无法在 MBR 表上进行扩展)或者数据库以某种方式损坏。
我确实使用 ESEUTILS 来确保它处于干净关闭状态,并尝试使用新副本再次安装它,但仍然出现相同的错误。
因此,现场 IT 人员在他的 PC 上创建了一个虚拟机并安装了 Exchange 2007 试用版,以尝试在原始环境中恢复邮箱。
我已按照有关从恢复存储组进行恢复的说明进行操作,但未能成功恢复邮箱,至少从 GUI 来看是如此。
刚才我尝试使用 CLI 并运行:
Get-Mailbox
但这并没有输出任何内容。因此,我从管理控制台确保已安装恢复数据库,然后尝试指定要使用的存储组Get-StorageGroup -Identity RecoveryStorageGroup | Get-Mailbox
,Get-Mailbox -StorageGroup RecoveryStorageGroup
但我得到 0 个输出。
我对数据库进行了一些研究,不知何故,可能是空的?我假设即使它是一个恢复数据库,我仍然应该能够列出它包含的邮箱,对吗?
我不确定我还能尝试什么,而且我认为我们不想仅仅为了恢复少量电子邮件而去获取一些第三方软件。如果有任何其他建议,我将不胜感激!
答案1
您是否在数据库上运行了 ESUTIL 来压缩?我最近将一个客户端从 2007 迁移到了 2010。我一直使用的方法是转到 2010 邮箱并在单个邮箱上启动“新本地移动...”。我的意思是您正在执行“移动”而不是“复制”。您必须这样做,因为您不希望用户的邮件同时位于两个位置。因此,如果您将邮件从一个数据库移动到另一个数据库,并且移动所有邮箱,那么 2007 数据库将被清空。它基本上是 GB 的空白空间。我认为这就是为什么您在执行“获取邮箱”时不断出现 0 的原因。如果您复制数据库并在其上运行 ESUTIL 进行压缩,我认为您会发现它压缩到几乎没有。您可能有一个巨大的空文件。
答案2
如果您已将所有邮箱迁移到新服务器,那么所需的邮件将位于新服务器上。如果没有,则需要找到旧备份并恢复,以便恢复内容。正如您所发现的,从新服务器迁移的旧数据库对您来说毫无用处。
答案3
根据 Sembee 的建议,您可以从备份中恢复邮箱数据。对于第三方软件,我建议使用 veeam、ontrack、stellar exchange recovery 等。