Exchange Server 中數據文件的移植
公司有一個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、此時,客戶端訪問,以前的郵件有可以看到了。恢復完畢!
Exchange Server 中數據文件的移植