建站服务器
案例场景:
公司有一个Exchange Server(08Server1), 出现了故障,计算机无法启动,在服务器中有一个数据DB_HR.edb, 使用WinPE吧此数据文件拷贝出来。然后重新在服务器(08Server2)上安装好了Exchange Server
需求:如何把DB_HR.edb挂载到新的Exchange Server上继续提供服务器,而且原先用户的所有邮件能够继续被访问,确保所有的邮件都不能丢失。
一 .Exchange Server 2007的操作方法
1、重新创建存储组SG_HR, 在此存储组上新建数据库DB_HR.edb.
New-StorageGroup -Name SG_HR -Server 08Server2 -LogFolderPath:"D:\\Program Files\\Microsoft\\Exchange Server\\
SG_ HR\\" -SystemFolderPath:"D:\\Program Files\\Microsoft\\Exchange Server\\SG_HR" (创建存储组)
New-MailboxDatabase -StorageGroup 08Server2\\SG_HR -Name DB_HR
2、进入刚才所创建数据库文件夹中,删除所有的日志文件,并且拷贝从Windows PE中取出来的文件覆盖当前的EDB文件,并且保证此数据库的属性中选中“还原是可以覆盖此数据库”
Set-MailboxDatabase DB_HR -AllowFileRestore:$true
3、装入此数据库
Mount-Database DB_HR
4、此时,Exchange Server的用户还不能访问自己的邮箱,原因在于:所有的用户在识别Mailbox角色的还是识别08Server1的,现在要把所有的用户的Mailbox的属性改成:08Server2
Get-Mailbox -Database 08Server1\\DB_HR |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Move-Mailbox -ConfigurationOnly -TargetDatabase 08Server2\\DB_HR
或者Get-Mailbox -database 08Server1\\DB_HR | Move-MailBox -targetDatabase 08Server2\\db_hr -configurationonly:$true
5、此时,客户端访问,以前的邮件有可以看到了。恢复完毕!
注意点:
1)数据库可移植性只能用于邮箱数据库,不能用于公用文件夹数据库。
2)如果存在没有邮件或尚未打开的新邮箱,则此命令不会移动该邮箱,因为它尚未存在于存储中。
二、 Exchange Serve 2010
1.、由于在Exchange Server 2010上没有Storage Group的概念,所以只需要在08Server2上创建数据库。
New-MailboxDatabase -Name DB_HR -Server 08Server2 -EdbFilePath:"D:\\Program Files\\Microsoft\\Exchange Server\\ HR\\DB_HR.EDB" -SystemFolderPath:"D:\\Program Files\\Microsoft\\Exchange Server\\HR"
2、进入刚才所创建数据库文件夹中,删除所有的日志文件,并且拷贝从Windows PE中取出来的文件覆盖当前的EDB文件,并且保证此数据库的属性中选中“还原是可以覆盖此数据库”
Set-MailboxDatabase DB_HR -AllowFileRestore:$true
3、装入此数据库
Mount-Database DB_HR
4、此时,Exchange Server的用户还不能访问自己的邮箱,原因在于:所有的用户在识别Mailbox角色的还是识别08Server1的,现在要把所有的用户的Mailbox的属性改成:08Server2
Get-Mailbox -Database 08Server1 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Set-Mailbox -Database 08Server2
5、此时,客户端访问,以前的邮件有可以看到了。恢复完毕!