Exchange 2010–Restore Mailbox Content

#exchange edit this page

Nachdem die Exchange Datenbank erfolgreich gesichert wurde, sollte man sich den Recovery Vorgang mal genauer anschauen.

Man kann jetzt einzelne Elemente oder ganze Mailboxen löschen um diese vom Backup wieder zurück zu holen. Zwar gibt es mit Single Item Recovery eine bessere Möglichkeit für das Widerherstellen einzelner Mails, dazu aber ein anderes mal mehr.

Restore Files

Die Datenbank wird von der Sicherung zurück geholt, dazu starte ich Windows Backup und wähle Recovery. Ich kann nun aus den erstellten Backups wählen und entscheide mich für eines auf einem Netzlaufwerk.

 imageimage

Nun kann ich wählen was ich Wiederherstellen möchte, in meinem Fall einzelne Dateien oder Ordner. Ich hole mir also die .edb Datei (Datenbank) und den kompletten Log Folder derselben zurück. Das Ganze darf natürlich nicht an der ursprünglichen Stelle widerhergestellt werden, sondern in einem neuen Ordner.

Recovery Database

Ist die Wiederherstellung abgeschlossen wird mit der Exchange Management Shell eine Recovery Database erstellt, diese verwendet die wiederhergestellte .edb Date sowie die wiederhergestellten Log Files.

Dieses Beispiel erstellt die Recovery Database RDB01 auf dem Server MBX01, X:\restore ist dabei der Ort an dem die Edb Datei und der Log Ordner wiederhergestellt wurden.

New-MailboxDatabase RDB01 –Recovery –Server MBX01 –EdbFilePath x:\restore\db.edb –LogFolderPath x:\restore

Die Datenbank wurde also erstellt, allerdings wird man darauf hingewiesen dass die Datenbank noch nicht gemounted wurde, sie muss erst in einen “Clean Shutdown State” gebracht werden.

image

Eseutil

Um die Datenbank in einen sauberen Status zu bringen wird eseutil.exe verwendet. Dabei ist es wichtig die richtigen Parameter zu verwenden.

Als erstes kann man überprüfen in welchen Zustand sich die Datenbank befindet:

Eseutil /mh x:\restore\db.edb

image

Die Datenbank ist also im “Dirty Shutdown” State und kann so nicht gemounted werden, mit “eseutil /r” wird die DB ohne Datenverlust in einen “Clean Shutdown” State gebracht. Mit dem Parameter /r wird der Präfix der Logs angegeben, also am besten zuerst den Dateinamen den Logs überprüfen. Die Parameter /l und /d geben den Pfad zu den Logs  bzw. zur Datenbank an.

Eseutil /r “E01” /l x:\restore\ /d x:\resotre

Achtung: Sollte das nicht funktionieren kann mit eseutil /p ein Hard Repair durchgeführt werden, dabei wird die Datenbank ohne Rücksicht auf Verluste in den “Clean Shutdown” State gebracht. Datenverlust ist möglich!

Nachdem Eseutil durchgelaufen ist und sich die Datenbank im Clean Shutdown State befindet kann sie gemounted werden, das geht in der EMC mit einem Rechtsklick auf die RDB oder mit der Management Shell und folgendem Befehl:

Mount-Database RDB01

Mailbox Restore Request

Wenn die Recovery Database online ist kann man beginnen Mailbox Inhalte wiederherzustellen, dazu verwendet man das cmdlet New-MailboxResotreRequest. Folgendes Beispiel stellt den Inhalt der Mailbox “Test User” in den Ordner Restore derselben Mailbox wieder her.

New-MailboxRestoreRequest –SourceDatabase ‘RDB01’ –SourceStoreMailbox ‘test user’ –TargetMailbox ‘[email protected]’ –TargetRootFolder ‘Restore’

Folgendes Beispiel stellt den Inhalt aller Mailboxen der Datenbank DB01 wieder her. Es wird für jede Mailbox ein Restore Request erstellt, auch hier wird der Inhalt in den Ordner Restore der jeweiligen Mailbox wiederhergestellt.

Get-Mailbox –Database ‘DB01’ |foreach { New-MailboxRestoreRequest -SourceStoreMailbox $_.Guid –SourceDatabase ‘RDB01’ -TargetMailbox $_.Guid –TargetRootFolder ‘Restore’}

Bei diesem cmdlet ist zu beachten dass die Parameter –SourceStoreMailbox und -TargetMailbox verschiedene Eingaben unterstützen, am Besten die Mailbox GUID verwenden, diese wird von beiden unterstützt.

Weitere Infos zu New-MailboxRestoreRequest gibt es im TechNet: http://technet.microsoft.com/en-us/library/ff829875.aspx 

Cleanup

Wenn der Restore Vorgang abgeschlossen ist kann man die Recovery Database wieder entfernen, dazu muss sie zuerst mit folgendem Befehl dismounted werden:

Dismount-Database RDB01

Anschließend kann man die RDB löschen, dazu verwendet man folgenden Befehl:

Remove-MailboxDatabase RDB01

Die Datenbank ist jetzt aus der Konfiguration entfernt, die Files sind jedoch nach wie vor auf dem Server. Diese müssen manuell gelöscht werden.

 

so long,
tom