案例场景:数据库
公司有一个Exchange Server(08Server1), 出现了故障,计算机没法启动,在服务器中有一个数据DB_HR.edb, 使用WinPE吧此数据文件拷贝出来。而后从新在服务器(08Server2)上安装好了Exchange Server 服务器
需求:如何把DB_HR.edb挂载到新的Exchange Server上继续提供服务器,并且原先用户的全部邮件可以继续被访问,确保全部的邮件都不能丢失。ide
一 .Exchange Server 2007的操做方法 spa
一、从新建立存储组SG_HR, 在此存储组上新建数据库DB_HR.edb.日志
New-StorageGroup -Name SG_HR -Server 08Server2 -LogFolderPath:"D:\Program Files\Microsoft\Exchange Server\orm
SG_ HR\" -SystemFolderPath:"D:\Program Files\Microsoft\Exchange Server\SG_HR" (建立存储组)get
New-MailboxDatabase -StorageGroup 08Server2\SG_HR -Name DB_HRit
二、进入刚才所建立数据库文件夹中,删除全部的日志文件,而且拷贝从Windows PE中取出来的文件覆盖当前的EDB文件,而且保证此数据库的属性中选中“还原是能够覆盖此数据库”io
Set-MailboxDatabase DB_HR -AllowFileRestore:$trueclass
三、装入此数据库
Mount-Database DB_HR
四、此时,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
五、此时,客户端访问,之前的邮件有能够看到了。恢复完毕!
注意点:
1)数据库可移植性只能用于邮箱数据库,不能用于公用文件夹数据库。
2)若是存在没有邮件或还没有打开的新邮箱,则此命令不会移动该邮箱,由于它还没有存在于存储中。
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"
二、进入刚才所建立数据库文件夹中,删除全部的日志文件,而且拷贝从Windows PE中取出来的文件覆盖当前的EDB文件,而且保证此数据库的属性中选中“还原是能够覆盖此数据库”
Set-MailboxDatabase DB_HR -AllowFileRestore:$true
三、装入此数据库
Mount-Database DB_HR
四、此时,Exchange Server的用户还不能访问本身的邮箱,缘由在于:全部的用户在识别Mailbox角色的仍是识别08Server1的,如今要把全部的用户的Mailbox的属性改为:08Server2
Get-Mailbox -Database 08Server1 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Set-Mailbox -Database 08Server2
五、此时,客户端访问,之前的邮件有能够看到了。恢复完毕!