软件:Exchange server 2003 EE sp2;
            备份软件:Backup exec for windows servers
假设:t1时刻启动备份;
             t_backup为备份所需时间;
             t_backup产生的日志文件为log1,log2,log3,log4,log5;
             t2时刻完成备份backup1;
             t3时刻用户接收到mail1;
             t4时刻数据库损坏,此时需要将Exchange恢复到t4时刻。
 
备份分析:          
当Exchange运行时,若在t1时刻对Exchange数据库进行完全备份,此时备份软件会调用Exchange的备份API,同时将数据库文件(EDB\STM)标记为只读的备份模式,然后开始备份。若从备份开始t1到备份完成t2内的t_backup时间内,有用户对邮箱的操作,此时系统会将记录以log文件的格式E000000XX记录用户的操作。但不写入到数据库文件中。当备份完成时,系统会删除t1时刻之前的所有log文件,同时将t1至t2的操作同步到数据库中。最后数据库恢复为正常的可读可写模式。
 
还原分析:
启动还原之前,必须将邮箱存储dismount,然后设置邮箱所属的存储组可以被还原。
使用backup1还原Exchange,此时数据库恢复为备份时的状态,此后系统会自动回滚备份之后的所有操作记录log文件。
最后mount数据库,此时发现mail1邮件也被正常恢复。
注意:如果上次全备份后产生的日志文件部分丢失(log1,log2,log3),此时用backup去还原数据库,则会导致还原失败,因为在还原backup的全备份后,系统会自动回滚全备份之后的所有日志文件,发现文件丢失(或不连续)则会导致还原失败。
方法:此时再进行全备份,(之前log4,log5中数据已经同步到数据库中)备份完成后则系统会删除log4,log5文件。当对数据库有操作时会产生新的log文件,此时只要保证新的log文件即可。