如果公司的邮箱服务器挂了,我们又没有做高可用,这个时候我们需要尽快地恢复邮箱数据库,并且保证邮箱正常收发邮件。现在我们需要用到邮箱数据库的备份了,一般情况下,我们会把数据库备份在共享存储中,或者至少是备份在另一台服务器上。我们采用的方法是将存储里面的数据库文件复制出来,在新的服务器上部署Exchange并创建新的数据库,然后将源数据库文件覆盖到新数据库文件中,最后把源数据库中的所有用户移植至新的数据库。


下面进入具体步骤:


一、查看源服务器的情况:


1、源服务器名称,如下图:

Exchange Server 2013 运维系列——故障恢复_第1张图片


2、源服务器的数据库如下,我们用“DataBase01”数据库来做实验,如下图:

Exchange Server 2013 运维系列——故障恢复_第2张图片

3、在“DataBase01”中,有两个用户:“张三”、“李四”,如下图:


使用命令查看:

Exchange Server 2013 运维系列——故障恢复_第3张图片


使用ECP管理界面查看:

Exchange Server 2013 运维系列——故障恢复_第4张图片


4、下面查看源数据库中的“张三”和“李四”的邮箱情况,如下图:


“张三”的邮箱:

Exchange Server 2013 运维系列——故障恢复_第5张图片


“李四”的邮箱:

Exchange Server 2013 运维系列——故障恢复_第6张图片


5、我们需要把源服务器的数据库文件考出来,如下图:

Exchange Server 2013 运维系列——故障恢复_第7张图片


二、安装新的Exchange服务器:


1、当源服务器崩溃后,我们需要在同一域的网络环境下安装一台新的Exchange服务器,在进行安装步骤前需要注意:重命名新服务器,名称不能与源服务器名称相同,否则无法安装;并且需要加入域,如下图:

Exchange Server 2013 运维系列——故障恢复_第8张图片


2、在新服务器上安装角色,打开PowerShell,分别执行以下命令:

Install-windowsfeature RSAT-ADDSInstall-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation –Restart

3、按顺序安装以下三个组件:

UcmaRuntimeSetup
FilterPack64bit
filterpack2010sp1-kb2460041-x64-fullfile-zh-cn

4、安装Exchange,这里省略安装向导步骤,如有需要请查看以下博客教程:

http://blog.csdn.net/xiezuoyong/article/details/22727189

安装好后,重启服务器!


三、还原数据库:

1、把源数据库文件夹复制到新服务器上,如下图:

Exchange Server 2013 运维系列——故障恢复_第9张图片


2、验证源数据库是否处干净关闭状态:

 

  • 打开EMS,输入以下命令:

Eseutil /mh "c:\DataBase01\DataBase01.edb"

 

  • 查看命令执行结果,验证“State”的值是否为“Clean Shutdown”,如下图:

  • Exchange Server 2013 运维系列——故障恢复_第10张图片

 

  • 若不是,请执行以下命令来修复数据库:

Eseutil /P "c:\DataBase01\DataBase01.edb"

3、在新服务器上创建新数据库“DataBase02”:

 

  • 打开ECP管理界面——“服务器”——“数据库”,点击“+”添加按钮,如下图:

  • Exchange Server 2013 运维系列——故障恢复_第11张图片

 

  • 输入新数据库名,并选择所在服务器,如下图:

  • Exchange Server 2013 运维系列——故障恢复_第12张图片


 

 

  • 创建好的新数据库“DataBase02”,如下图:

  • Exchange Server 2013 运维系列——故障恢复_第13张图片


4、卸除新数据库,如下图:

Exchange Server 2013 运维系列——故障恢复_第14张图片


5、设置新数据库为“还原时可被覆盖”:

 

  • 选中“DataBase02”,点击“编辑”按钮,如下图:

  • Exchange Server 2013 运维系列——故障恢复_第15张图片

 

  • 打开编辑对话框,选择“维护”选项卡,然后勾选“还原时可以覆盖此数据库”,如下图:

  • Exchange Server 2013 运维系列——故障恢复_第16张图片


6、把源数据库文件名“DataBase01.edb”改为“DataBase02.edb”,如下图:

Exchange Server 2013 运维系列——故障恢复_第17张图片


7、把改过名的源数据库文件复制过来,覆盖到新数据库文件“DataBase02.edb”,如下图:

Exchange Server 2013 运维系列——故障恢复_第18张图片


8、然后重新装入“DataBase02”,如下图:

Exchange Server 2013 运维系列——故障恢复_第19张图片


9、最后一步,把源数据库“DataBase01”中的所有用户迁移到新数据库“DataBase02”下:

 

  • 打开EMS执行如下命令

 

[objc] view plaincopy

  1. Get-Mailbox -Database DataBase01 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|xOleDbStemMailbox)'}| Set-Mailbox -Database DataBase02  

 

 

 

  • 执行结果如下:

  • Exchange Server 2013 运维系列——故障恢复_第20张图片


 

  • 验证用户迁移是否迁移到“DataBase02”中,执行如下命令,结果如下图:

  • Exchange Server 2013 运维系列——故障恢复_第21张图片


四、验证新邮箱服务器数据及运行情况:


1、验证用户邮箱数据是否恢复,分别登陆“张三”和“李四”的邮箱,查看邮箱情况,发现邮箱数据均已恢复,如下图:

Exchange Server 2013 运维系列——故障恢复_第22张图片

Exchange Server 2013 运维系列——故障恢复_第23张图片


2、验证邮箱是否正常收发邮件,用“李四”的邮箱向“张三”发送邮件,再登陆“张三”的邮箱查看,已收到新邮件,如下图:

Exchange Server 2013 运维系列——故障恢复_第24张图片


到此,邮箱故障恢复已经完成,后面还需要重新申请Exchange证书,才可供用户正常使用。