Exchange EDB数据库修复及邮件还原
昨天帮同事救火,去客户那边抢修Exchange服务器。客户的情况是这样的,两前端两后端的Exchange2007结构,两个前端是集线器传输服务器和客户端访问服务器角色,两个后端是邮箱服务器。故障是后端的一个节点出现了问题,其中出问题这个阶段整个服务器不可用了。正常来说邮箱服务业务应该会转到另外一个节点,但是在这次出故障前两周,两节点间的数据库其实就已经停止同步了。
目前,故障节点已经损坏,正常节点上的数据库能够强制挂载上去,但数据为两周前的。
经过努力将故障节点的硬盘读取出来,并将EDB数据库复制到正常节点。
我们如何去对这个数据进行修复呢?
[*]使用Eseutil /mh对数据库EDB文件进行状态确认,例:Eseutil/mh f:\EDB\user.edb
[*]通过Eseutil /mh返回的信息,复制日志文件
[*]使用Eseutil/r 进行EDB文件软恢复,例: Eseutil /R E00/Lf:\EDB\logfiles
[*]软恢复如果不成功那么进行硬恢复Eseutil /p f:\EDB\user.edb.(硬恢复会有较大概率造成邮件数据丢失)
[*]创建恢复存储组,注意这里的log文件夹路径和数据库路径需要填写之前修复的EDB文件的路径,因为我们从已经修复的EDB文件中进行恢复。
new-storagegroup -Server <Server_Name>-LogFolderPath <path_to_Logfiles> -Name <RSG_Name>-SystemFolderPath<Database_Path>-Recovery
[*]创建恢复存储组中的数据库
new-mailboxdatabase -mailboxdatabasetorecover <Database_Name>-storagegroup <Server_Name>\<RSG_Name> -EDBFilePath<Database_Path>
[*]设置允许所有文件恢复
new-mailboxdatabase -mailboxdatabasetorecover <Database_Name>-storagegroup <Server_Name>\<RSG_Name> -EDBFilePath<Database_Path>
[*]将所创建的恢复存储组中的数据库载入
new-mailboxdatabase -mailboxdatabasetorecover <Database_Name>-storagegroup <Server_Name>\<RSG_Name> -EDBFilePath<Database_Path>
[*]对某个邮箱进行恢复
new-mailboxdatabase -mailboxdatabasetorecover <Database_Name>-storagegroup <Server_Name>\<RSG_Name> -EDBFilePath<Database_Path>
页:
[1]