Microsoft Exchange 错误
装入数据库“xxxx”失败。
xxxx
失败
错误:
Exchange 无法装入指定的数据库。指定的数据库:WIN2003\xxxx\xxxx;错误代码:MapiExceptionCallFailed: Unable to mount database.
(hr=0x80004005, ec=-515)
首先声明我用的是exchange server 2007
还有类似的比如544、455错误等,主要是因为某种原因数据库的日志文件丢失或者错误造成的。可以通过以下方法来解决。
这里要使用到eseutil.exe这个程序,他在ex的安装目录下的\bin\eseutil.exe
好下面我们来操作来恢复日志文件。
首先关掉杀毒软件,这主要是为了防止它扫描ex安装的目录造成文件锁定之类的问题,然后在出问题的数据库所在的的目录,比如
\exchange\mailbox\firststroagegroup目录下是数据库所在目录,那么在这个文件夹上运行cmd,然后再命令窗口中输入 eseutil -p "xxx.edb" ;
然后运行eseutil -mh "xxx.edb",在显示出来的结果中查看状态 = 干净关闭或者 state=cleanshut;然后我们进行下一步运行 eseutil /r
e00 ,运行后会看到很多log文件,这里最后会提示你最后一个log文件是比如0ad,缺少了log文件0ae,这说明丢失了0AE.LOG这个文件,不要紧,进行下面操作,(注意)虽然进行后会丢失0ad之后的数据,但是也比加载不了数据库好吧!来吧继续吧:
找到\exchange\mailbox\firststroagegroup目录下最新的LOG文件,将其改名为LOG文件的最前三个字符,比如LOG文件全名是“e000000000ad”那
么把它改成“e00”,同理如果是“e010000000ad”那么把它改成“e01”,这时你会发现本文件夹有E01这个文件重复了,备份好原来的那个文件,然
后删除它,再吧0AD改名成E00,好啦大功告成了,去EMC里加载这个数据库试试,是不是可以了奶?
哈哈其他数据库也这么操作,OWA又可以正常访问了嘎嘎!
下面是微软给出的官方说法,其实跟我的一样,只不过是绕口点:
使用下列方法之一恢复 Exchange 日志文件:
方法 1:如果 Exchange 日志文件被隔离
将 Exchange 日志恢复到包含生产日志文件的文件夹。
启动"Microsoft Exchange 信息存储"服务。如果不缺少任何其他日志文件,将装入数据库。如果缺少其他日志文件,请查看缺少的日志文件是否位于
防病毒程序的隔离文件夹中。如果日志文件不在隔离文件夹中,请参阅方法2。
如果 Exchange 日志文件被删除,则必须通过备份还原存储组数据库。然后必须重播日志文件。若要还原可用的数据库,请执行下列步骤:
方法 2:如果 Exchange 日志文件被删除
将所有不一致的数据库移动到备份文件夹中。
如果新建了E00.log 文件,则将新的 E00.log 文件移动到备份文件夹中。此外,将 E00.chk 文件也移动到备份文件夹中。
将所有现有的日志文件复制到备份文件夹。注意 必须复制日志文件。不要移动日志文件。
将最新的E00*.log 文件重命名为 E00.log。
通过备份还原数据库。然后重播日志文件。这样可使数据库处于一致状态。但是,数据库中不包括复制到备份文件夹中的E00.log 文件。尽管存在一
定的数据损失,但是现在您有了可以装入的数据库。
注意:
如果无法通过备份还原数据库,则对数据库运行修复实用程序,以使数据库处于一致状态
启动"MicrosoftExchange 信息存储"服务。
如果对受影响的数据库运行了eseutil /p 修复命令但没有删除日志文件,请执行下列步骤:
若要确定是否运行了eseutil /p 命令,请执行下列操作:
单击"开始",再单击"运行",键入 cmd,然后单击"确定"。
在命令提示符下键入以下命令:
复制代码
c:\program files\exchsrvr\bin\eseutil /mh "c:\programfiles\exchsrvr\mdbdata\
上述语法假定下列条件为真:
Exchange Server 程序文件安装在 c:\program files\exchsrvr 文件夹中。
数据库位于 c:\program files\exchsrvr\mdbdata 文件夹中。
读取修复计数属性。如果修复计数属性为 0(零),则未运行 eseutil /p 命令。如果修复计数属性不是 0,则对数据库运行了 eseutil /p 命令。
如果公用数据库和私人数据库处于一致状态或干净关闭状态,则可以将事务日志文件移动到其他文件夹中。若要确定数据库是否处于一致状态或干净关
闭状态,请执行下列步骤:
若要确定数据库是否处于一致状态或干净关闭状态,请执行下列操作:
单击"开始",再单击"运行",键入 cmd,然后单击"确定"。
若要检查私人信息存储,请键入以下命令:
复制代码
c:\program files\exchsrvr\bin>eseutil /mh "drive:\programfiles\exchsrvr\mdbdata\priv1.edb"
若要检查公用信息存储,请键入以下命令:
复制代码
c:\program files\exchsrvr\bin>eseutil /mh "drive:\programfiles\exchsrvr\mdbdata\pub1.edb"
步骤2 和 3 中的语法假定下列条件为真:
Exchange Server 程序文件安装在 c:\program files\exchsrvr 文件夹中。
数据库位于 c:\programfiles\exchsrvr\mdbdata 文件夹中。
复查一致性检查的结果。如果数据库处于一致状态(状态 = 干净关闭),则已将所有日志文件提交到信息存储。如果数据库处于不一致状态(状态=
肮脏关闭),数据库可能未损坏。可能尚未将日志文件提交到数据库。
如果状态显示为干净关闭,请将所有mdbdata 目录中的所有日志文件移动到备份文件夹中。
装入数据库。
如果使用不正确的日志文件基本名称运行了eseutil /r 恢复命令,请使用正确的开关成功地运行该命令。常用的日志文件基本名称为e00、e01、
e02 和 e03。例如,以下命令包含正确的日志文件基本名称:
复制代码
eseutil /r e00
ESE 455 -1811 (0xfffff8ed):缺少当前(Exx.log) 事务日志文件 发送反馈
Microsoft Exchange 数据库故障排除程序工具在应用程序日志中检测到一个或多个错误代码为-1811 (0xfffff8ed) 的 ESE 455 事件。此事件表
明当前事务日志(exx.log) 丢失、无法访问或具有不匹配的签名。
解释
此错误可能是由以下原因引起的:
对应于 JET_errFileNotFound 的错误 1811。具有不匹配的签名和内部日志生成编号(LGeneration) 的 Exchange 日志文件可能会出现该问题。通
常,Exchange日志文件是 E00.log 文件。如果 E00.log 文件具有不匹配的签名,即使数据库是一致的,也可能无法装入信息存储。
防病毒程序隔离或删除了当前 Exchange 日志文件。
为受影响的数据库运行了 eseutil /p 修复命令,并且没有删除日志文件。
使用不正确的日志文件基本名称运行了 eseutil /r恢复命令,例如,eseutil /r Exx.log,其中 Exx.log 是包含三个字符的日志文件基本名称。