案例讲述:

我目前环境中有一套Exchagne01和Exchange02服务器,全部是全角色安装的exchange2013CU8的系统。

这两台服务器同属一个DAG组,由于特殊原因DAG的故障转移群集出现问题,无法正常恢复,导致用户邮箱不能访问。

目前发现Exchange01上的数据库被动副本数据复制不正常,Exchagne02上的数据库主动副本数据内容正常。


此过程中服务器DAG组无法恢复正常,用户没法访问邮箱。多次尝试也不能将Exchange01或者Exchange02任意一台从DAG中删除。


为了尽快恢复用户访问,我们在环境中全新部署了Exchange04服务器,该服务器正常运行,可以新建用户和数据库副本。

随后我们将Exchange02服务器上正常的数据库副本拷贝到了Exchange04的默认数据库副本目录下。

如何才能使这个正常的数据库副本挂载到Exchange04上,使用户可以正常访问邮箱


解决方案如下:


使用数据库可移植性移动邮箱数据库

https://technet.microsoft.com/zh-cn/library/dd876926(v=exchg.150).aspx

数据库可移植性是使 Microsoft Exchange Server 2013 邮箱数据库移动到或装入同一组织中的任何其他邮箱服务器的功能,此组织运行具有相同数据数据库架构版本的数据库的 Exchange 2013。以前版本的 Exchange 的邮箱数据库无法移动到运行 Exchange 2013 的邮箱服务器。通过使用数据库可移植性,可以免除恢复过程中容易导致错误的多个手动步骤,从而提高可靠性。此外,数据库可移植性可减少各种故障情况的总恢复时间。

当使用数据库可移植性恢复邮箱数据库时,操作系统版本、源上的 Exchange Server 版本以及目标 Exchange 服务器必须相同。 例如,如果 Exchange 2013 邮箱数据库之前已装入运行 Windows Server 2012 的服务器,那么只有在将数据库迁移到同样运行 Windows Server 2012 和 Exchange 2013 的服务器上时,数据库可移植性才能正常使用。

数据库可移植性

https://technet.microsoft.com/zh-cn/library/dd876873(v=exchg.150).aspx



1. 首先可以看到原始邮箱里的邮件都在:

Exchange 2013数据库可移植性恢复用户数据库(一)_第1张图片


以下操作假定用户原有的数据库突然崩溃 无法挂载访问。


2. 用户邮箱在如下DB中:

Exchange 2013数据库可移植性恢复用户数据库(一)_第2张图片

3. 然后新建临时数据库Temp:

Exchange 2013数据库可移植性恢复用户数据库(一)_第3张图片

4. Mount 新建的DB:

clip_image006

5. 把用户mount 到临时库上: (如果是整个数据库的用户就用Get-mailbox –database “原数据库名” |set-mailbox –database “临时数据库名” )

clip_image008

6. 重新配置邮箱账号,可以发现邮箱里面空了,但是邮箱是处于连接的状态:

Exchange 2013数据库可移植性恢复用户数据库(一)_第4张图片

PS:此时如果尝试去打开原配置账号会发现如下的报错信息:

Exchange 2013数据库可移植性恢复用户数据库(一)_第5张图片

7. 可以发现,此时用户邮箱可以正常收发邮件,但是以前的邮件都没了:

Exchange 2013数据库可移植性恢复用户数据库(一)_第6张图片

Exchange 2013数据库可移植性恢复用户数据库(一)_第7张图片

8. 此时第一阶段就算完成了,用户邮箱可以基本可以正常使用。那么下一步,就是要是帮用户恢复以前的邮件。

9. 使用备份里恢复出来原Edb文件

10. 运行如下命令行新建一个DB:

clip_image017

11. 此时数据库文件夹里是空的:

clip_image019

12. 此时Mount该DB:

Exchange 2013数据库可移植性恢复用户数据库(一)_第8张图片

13. 此时可以发现Recover.edb文件被生成了:

Exchange 2013数据库可移植性恢复用户数据库(一)_第9张图片

14. 这时把数据库Dismount 掉:

Exchange 2013数据库可移植性恢复用户数据库(一)_第10张图片

15. 把备份里恢复出来的edb文件拷贝到新的DB的文件夹里,把原DB拷贝到一个新的位置并且把拷进来的DB名字改成Recover:

Exchange 2013数据库可移植性恢复用户数据库(一)_第11张图片

16. 启用数据库的如下属性:

clip_image027

17. Mount 数据库

18. 把邮箱设置到这个数据库上:

clip_image029

19. 此时可以看到用户的原邮件都回来了:

Exchange 2013数据库可移植性恢复用户数据库(一)_第12张图片

20. 现在要做的就是恢复临时库里的邮件到这个库里面来:

clip_image033

21. 运行如下命令行检查export请求的状态。如果发现一直处于queue的状态的话,重启replication服务:

Exchange 2013数据库可移植性恢复用户数据库(一)_第13张图片

22. 此时可以看到那些邮件恢复出来了:

Exchange 2013数据库可移植性恢复用户数据库(一)_第14张图片