分享

Exchange的“数据库可移植性”功能测试心得

 gogo8848 2014-11-03

                数据库可移植性功能是Exchange2007 和 Exchange2010中特有的功能,它不支持Exchange2003,此功能仅对邮件数据库有效,对公共文件夹数据库无效。通过使用此功能可以减少Exchange灾难恢复的时间,但是我在测试中也发现有些问题,也许是我测试方法不对。

                我的测试场景是:有两台邮箱服务器(没有设置DAG),两台服务器中各有一个数据库,假设其中一台已经损坏了,无法继续使用。但是数据库文件有备份 。 通常的恢复方法是:在找一台新服务器中进行Exchange灾难恢复安装,然后恢复备份数据库。但这种方法显然需要花费较长时间,因此可以移用数据库可移植功能,大概方法如下:

 1,在另一台正常使用的邮箱服务器新建一个数据库,在此数据库的属性中“维护”标签里,要选中“还原时可以覆盖此数据库”,此数据库暂时不要加载

  2. 把损坏的服务器的数据库备份 文件直接恢复到这一台邮箱服务中新建的数据库目录里,并修改名字(即覆盖原先新建的数据库)。然后在CMD中运行esecutiil /mh命令检查恢复后的数据库状态。如果状态是“dirty shutdown”,则要运行 eseutil /p 命令进行硬修复。使其状态为“clear shutdown”。  然后在EMC中加载数据库

 3. 接着在Exchange PS 中运行命令: get-mailbox -database test | where {$_.objectclass -Notmatch '<systemattendantmailbox | exoledbsystemmailbox) ' }  |  set-mailbox        -database  test_backup    (test 是已损坏的数据库, test_backup 是新建的数据库)。  此命令是把损坏的服务器中的数据库里用户邮箱重新指向到新建的数据库中去 

    但是问题来了, 在微软帮助文件中明确说明完成此步骤后,用户已经可以访问自己的邮箱了,网上有些网友的恢复文档中也说明了在这种情况下用户可以访问邮箱了。可是我自己在测试时,发现此时用户还是不能访问自己的邮箱,通过OWA访问时提示出错 : “ 您的帐户已禁用”   可是检查用户状态,发现用户并没有禁用。对于此问题,始终没有找到解决方法。看来这个恢复方法是行不通的吗?

   后来与同事交流后,发现问题的关键是在于新建的数据库。上面的做法是把损坏的邮箱服务中的数据库备份文件恢复到新数据库并加载,虽然加载成功,但数据库原有的用户始终无法访问,AD里的用户并没有与 数据库里的同名邮箱进行有效链接。所以用户无法访问。(经过测试重新迁移一个用户邮箱到此邮箱数据库,此用户又能正常访问,但数据库原用户仍无法访问)但是此时如果不用数据库备份文件,而是直接用一个新的数据库,然后运行上面的命令修改用户的邮箱指向,此时用户才能正常访问自己的邮箱。

    是不是恢复到此结束了? 不行,还没有。  此时用户连接的是一个新邮箱里面没有任何邮件。接下来还是要通过备份文件及利用恢复数据库把邮件还原到用户新邮箱里。

   通过此次测试,发现其实此功能并不是想象中那么完美,最重要的还是要做好备份。当然也许是我测试方法有问题因而导致测试结果不如意。


关于数据库可移植功能详细信息可以参考微软文档:http://technet.microsoft.com/zh-cn/library/dd876926.aspx


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多