案例場景:數據庫
公司有一個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
五、此時,客戶端訪問,之前的郵件有能夠看到了。恢復完畢!