Bootstrap

Exchange 2016(ESEUTIL命令的应用)

使用eseutil命令进行修复

  执行ESEUTIL /MH <数据库绝对路径>,查看state是 dirtyshutdown还是cleanshutdown.

1.如果是clean shutdown状态可以执行软修复

   注意:软恢复过程的一个基本假设是故障未移动、删除或破坏任何数据库文件或日志文件,管理员在故障之后也没有这样做。

   运行一遍exeutil /r,然后使用isinteg.exe修复Pub1和Priv1数据库  isinteg -s (servername) -fix -test alltests,重新启动信息存储服务,挂载数据库.

2.如果是dirtyshutdown状态需要执行硬修复。(更多的是这个状态)

   2.1  eseutil /r E01 /D /I

       即使运行硬修复也建议首先使用eseutil /r命令试图修复下逻辑错误。

TIPS:说一下软修复的一些事项:

1.软修复的一本基本要求是:{故障未移动、删除、或者破坏任何数据库文件或者日志文件,管理员在故障之后也没有这样做}。

2.参数介绍下

/R :软修复参数

/E01:  日志记录文件名称,不能包含后缀。01是ex数据库创建的序号,例如,第一个数据库日志文件是E00.LOG,第二个数据库日志文件就是E01.LOG,以此类推。

  日志文件的名称在  安装目录下--》mailbox目录下---》数据库名称下面    找到!

/i:恢复的数据库处于非正常关机状态(Dirty shutdown状态),请使用此参数

/D:忽略数据库错误。

   2.2  eseutil /mh

        然后再次执行eseutil /mh <数据库句对路径>,进行状态的检查

   2.3  eseutil /p

        把数据库文件夹中所有的log、chk、temp.edb文件剪切到别的文件夹    然后执行 eseutil /p <数据库绝对路径>  命令直至修复完成。

{注意:也可直接进行ESEUTIL /P 修复,当尝试无法挂载时再移除log、chk、temp.edb等所有文件}

   2.4  eseutil /d

         执行eseutil /d <数据库绝对路径>进行碎片整理,如果不进行碎片整理可能导致数据库出现索引和空间分配错误。(生产环境建议执行,也可跳过)

   2.5  isinteg-s(servername)-fix-testalltests (可跳过,EX13\16也没测试此命令)

         此时应该能够正常挂载数据库了。为了在应用程序级别修复数据库执行上述命令,执行此命令数据库必须是离线状态,如果挂载了请卸除数据库。

isinteg 完成之后,应当报告数据库中有零个错误。如果错误计数大于零,请再次运行 Isinteg 直到计数变为零,或在后续运行中计数不再减少。如果无法让错误计数归零,挂在后建议进行数据库的迁移。
 

;