exchange2003数据库文件大小暴长

来源:互联网 发布:置乱算法 编辑:程序博客网 时间:2024/05/18 16:57

环境:

操作系统win2003sp2
exchange server 2003 标准版本,已打sp2补丁,修改了注册表值运行存储文件超过16G;

出现故障:

使用了很长时间都没有问题,前几天突然出现edb数据库的大小狂长的现象,每天就是给它腾服务器空间,但几天很快从20多个 G变成50多个G,加上事务日志,真个近100G,我们的服务器空间小,以前是一看见空间不够就使用ntbackup备份压缩一下事务日志,但现在使用ntbackup到最后就出现错误。

解决:

因使用的人多,涉及面太广,原本是准备支撑到周末再来进行一个离线压缩的,结果却挺不到这一天,出现邮件存储自动卸载了,在管理器中手工加载,提示“数据库文件不匹配,无法加载”。
   看来只能马上处理了,以前使用exchange5.5的时候经常使用eseutil和isinteg命令,自从换成exchange 2003,就没有使用过,现在用的时候有点生疏了,但有网络,这些都不是难事。
   以前如果遇到这个问题,首先考虑到是日志文件和数据文件及检查点文件不匹配了,一般使用 isinteg -patch就可以解决。可以现在发现exchange 2003居然说不需要这个命令了,它启动instore.exe的时候会自动运行的,于是重启一下exchange 的服务想通过自动修复,结果还是一样,提示不匹配,无法加载。
    发现exchange 2003的eseutil命令比以前强大了,既然提供了eseutil /mh参数。
运行eseutil /mh e:/exchange/mdbdata/priv1.edb
结果出现如下图:

检查

提示state:dirty shutdown,而且两个db signature的rand是不同的,说明edb和stm 文件也是不匹配的。
看来只能通过修复命令eseutil /p,原本还想通过eseutil /d直接完成修复和压缩,可是一运行系统提示需要先修改才能压缩,所以只能先采用eseutil /p了。
服务器上的空间已经不足,只好通过网上其他电脑创建一个映射盘Z:,
eseutil /p e:/exchange/mdbdata/priv1.edb /tz:/privtemp.edb
接下来的时间是漫长的,只能傻傻的等了。

近2个小时,终于结束了。当然最先做的事情是验证是否修复成功,重新运行名eseutil /mh e:/exchange/mdbdata/priv1.edb,运行结果不错,提示state:clear shutdown,在管理器中手工加载,顺利加载成功。
 
继续手工卸载邮箱存储,准备开始压缩数据文件:
云新eseutil -d e:/exchange/mdbdata/priv1.edb /tz:/priv1.edb /p
然后是只能继续傻傻的等待了。。。。

很不幸,网络上的哪台电脑关机了,压缩被中止了。但现在用ntbackup备份能够成功,磁盘空间空出不少,再使用几天没有出线存储文件暴增的现象,估计是edb文件损坏导致的。