转自:Winmag亚洲技术社区
www.winmag.com.cn 作者:yinjie
看到论坛一直有人对NTBACKUP能否备份和恢复EXCHANGE的存储组(邮箱存储)表示怀疑,特做了个实验.大家看看吧..
一、实验环境
*
安装有WIN2003的服务器一台
*
安装有活动目录和IIS
*
安装有EXCHANGE
2003企业版
*
建立了几个邮箱,以administrator为操作对象
二、实验步骤
1、首先配置好OUTLOOK2003,并正常收发邮件数次。
正常工作的MAILBOX
STORE:
注意看其中的管理员邮箱的邮件项目是31个!!
正常工作的OUTLOOK状态:
注意看收件箱中有3封邮件!!
2、使用NTBACKUP备份MAILBOX
STORE,一切按向导进行
备份进行中。。。
备份已经成功完成,注意:此过程不能将存储组DISMOUNT也不能停止INFORMATION
STORE服务。
3、在OUTLOOK中永久删除收件箱中的邮件。
可以看到已删除邮件是空的了:
收件箱中也是空的了哦。
4、打开ESM,看到MAILBOX
STORE里少了3个项目(刚才删除的),确认删除是有效的哦(没有人怀疑吧。呵呵。。)
5、在ESM里设置MAILBOX
STORE的属性为可被还原覆盖,这是非常重要的,否则不能还原成功!
并且把MAILBOX
STORE手工DISMOUNT,这也是必需的。系统无法还原覆盖正在使用的数据库。
6、进入NTBACKUP,找到刚才备份的文件,打开编录。你会看到其中写着“无数据项目”,别管它,能恢复就可以了。
7、开始恢复数据库了,注意在日志临时文件中应写一个有效的路径,该路径用于存储在备份文件中的数据库日志,另外,需要注意的是,“上次还原集”请大家慎重选择。如果选择该项目,系统将在还原完成后按日志内容重放操作,这将使你刚才的操作仍然有效,换句话说,我刚才的删除项目操作仍然有效。我不希望这样,因为我希望恢复我刚才删除的文件哦,所以我不选这个选项,实际操作中该项应该是选中的,因为备份的数据比当前服务器的数据要旧,因此只有REPLAY日志才能重新应用备份后的操作。这样恢复后的数据才是服务器的最新状态。
NOTE:只有选中了“上次还原集”,才能在还原后让系统自动将数据库MOUNT。
OK,还原进行中了。。一切顺利。。
还原终于完成了,没有错误,说明一切正常。
8、进入ESM,MOUNT数据库,失败了。WHY?
看看日志。。
哦,原来系统告诉我说,数据库不是从硬恢复中恢复的,通俗点说,就是还有日志没有完全记录到数据库中,我们看看数据库状态来验证一下。
9、让我们来看看数据库的状态。(eseutil
/mh)
哦,原来是DIRTY
SHUTDOWN,这说明数据库当前是非正常关闭的,当然不能MOUNT啦。怎么办?当然你可以在还原时选择”上次还原集“这样系统会帮助你REPLAY日志,完成REPLAY后,数据库就正常关闭了。但我这里可不希望去REPLAY日志,相反的,我希望系统丢弃所有的日志,于是我只能手工处理了。
10、使用修复命令(eseutil
/p)修复数据库,强制数据库关闭。
注意:只能在确定需要修复数据库时,才能使用该命令。
修复顺利完成了。呵呵。。
11、再来看看数据库状态。
哦,现在的数据库状态是CLEAN
SHUTDOWN了,就是正常关闭了。成功了。
12、再重新MOUNT数据库,成功了哦。
13、赶快来检查一下看看是否正常,哈哈,,你看又是31个项目了。恢复了
14、进入OUTLOOK看看,哦,我的邮件终于回来了,上帝保佑。。
三、后记
呵呵,,不知道从什么时候开始,我也喜欢在文章的最后加个说明了,权当做后记吧。
从这个实验中你可以看到NTBACKUP确实可以备份和恢复EXCHANGE的存储组数据哦。(MS没有骗我们,呵呵……)但是需要注意的地方还真不少。
1、首先,我们要明白备份只备份当前有效数据,已经被删除的数据不会被备份哦。
2、备份时不能DISMOUNT数据库,也不能停止任何的EXCHANGE服务。
3、备份时最好能使用VSS(卷影副本)或不要使用邮箱
4、还原前,一定要将数据库设置为可覆盖模式。注意:每次正常还原后,系统会自动把这个状态撤消掉,也就是说,你每次还原时都需要重律柚茫欢堑门丁?BR> 5、还原数据库时,要把数据库DISMOUNT哦。这和备份是不一样的。
6、备份的文件里有可能报说”找不到数据项目“别管它,只要你确认备份成功了就不会有问题的。
7、还原时的临时日志位置一定要写,且不能是原始日志目录,因为在备份时,有可能有的事务还没有完全写入数据库,因此系统也会把这部分未写入数据库的日志备份到介质中,当还原的时候,它先把这些日志释放到临时目录,恢复数据库后再按临时目录里的日志REPLAY操作哦,然后删除临时目录里的日志。
8、”上次还原集“按需要选择。如果选择,系统将REPLAY所有日志。但不选择,系统不会自动MOUNT数据库。而且有可能连手工MOUNT都不能。注意哦。
9、还原完成后,如果不能MOUNT,可以先看看日志和数据库的状态(ESEUTIL
/MH)这是个有用的命令。
10、最后一点,只有正常关闭的数据库才能被MOUNT,呵呵。。原因,请看我的另一篇关于日志功能的文章。
最后说一下,如果你的服务器坏掉了,你一定要按顺序执行下列操作:
*
安装全新的操作系统和补丁
*
恢复系统状态数据(如果是DC)
*
以灾难恢复选项安装EXCHANGE,不要以正常方式安装,装不上的。不信你试试。
*
恢复数据库内容
*
修复或调整数据库
*
MOUNT数据库
*
完成恢复过程。
更详细的过程可参考灾难恢复白皮书或MS网站资源,谢谢大家。。
补充:对备份和恢复原理不明白的朋友请仔细阅读以下白皮书:
《Exchange
2000
Server
Database
Recovery》,该书也适用于EX2003。
URL:
http://www.microsoft.com/technet/prodtechnol/exchange/2000/support/dbrecovr.mspx