Exchange Server 中数据文件的移植

  • 来源:网络
  • 更新日期:2020-09-01

摘要:建站服务器 案例场景:公司有一个Exchange Server(08Server1), 出现了故障,计算机无法启动,在服务器中有一个数据DB_HR.edb, 使用WinPE吧此数

建站服务器

案例场景:

公司有一个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、此时,客户端访问,以前的邮件有可以看到了。恢复完毕!


新网虚拟主机