Exchange 2016: Wiederherstellung einer Datenbank auf einem anderen Server

Exchange 2016 Datenbanken lassen sich aus einem Backup auch auf anderen Exchange 2016 Servern wiederherstellen. Die Datenbank muss also nicht zwingend auf dem Server wiederhergestellt werden, auf dem sie gesichert wurde oder aktiv war. Ob der Server Mitglied einer DAG war, ist dabei egal. Wichtig ist allerdings, das beide Exchange Server die gleiche Version des Betriebssystems und des Exchange Servers einsetzen.

In diesem kleinen Beispiel gibt es zwei Exchange 2016 Server, beide Exchange Server laufen auf Windows Server 2016. Die beiden Exchange Server sind nicht Mitglied einer DAG (Database Availability Group)Exchange und auch Windows sind auf dem aktuellen Patch Level.

Jeder Exchange Server verfügt über eine Mailbox Datenbank (MDB1 und MDB2). In der Datenbank MDB2 gibt es zwei Benutzerpostfächer (Benutzer1 und Benutzer2). Die Umgebung sieht also wie folgt aus:

Wiederherstellung einer Datenbank auf einem anderen Server

Um einen Fehler zu simulieren wird der Exchange Server TEX2 ausgeschaltet. Die Datenbank MDB2 ist somit offline und die Postfächer der beiden Benutzer sind offline.

Damit die Datenbank MDB2 nun möglichst schnell wieder zur Verfügung steht, kann die Wiederherstellung auf TEX1 erfolgen. Somit spart man sich die Zeit bis der Exchange Server TEX2 wieder lauffähig ist.

Wiederherstellung der Datenbank

Damit die Datenbank aus der Sicherung auf TEX1 aktiviert werden kann, muss zunächst eine neue leere Datenbank auf TEX1 angelegt werden. Der folgende Befehl erzeugt die Datenbank MDB2-Restore auf dem Server TEX1:

New-MailboxDatabase -Name "MDB-Restore" -Server TEX1 -EdbFilePath "D:\MDB2-Restore\MDB2-Restore.edb" -LogFolderPath "D:\MDB2-Restore"

Neue Datenbank für die Wiederherstellung

Im angegebenen Ordner der Datenbank befindet sich jetzt noch keine Datenbank Datei (.EDB).

Neue Datenbank für die Wiederherstellung

In diesen Ordner wird nun die Sicherung der Datenbank wiederhergestellt und zum angegebenen Namen umbenannt (-EdbFilePath):

Rücksicherung der Datenbank

Damit sich die wiederhergestellte Datenbank einbinden lässt, muss die Datenbank im Clean Shutdown State sein. Dies lässt sich mit folgenden Befehl prüfen:

eseutil /mh .\MDB2-Restore.edb

Clean Shutdown State prüfen

Falls die Datenbank aus der Sicherung noch nicht den Clean Shutdown State aufweist, steht hier beschrieben wie der Clean Shutdown State wiederhergestellt werden kann.

Bevor die Datenbank nun gemountet werden kann, muss die Wiederherstellung aus dem Backup erlaubt werden. Dies geschieht mit folgendem Befehl:

Set-MailboxDatabase "MDB-Restore" -AllowFileRestore:$true

Wiederherstellung erlauben

Jetzt kann die wiederhergestellte Datenbank eingebunden werden und der Status geprüft werden:

Mount-Database "MDB-Restore"
Get-MailboxDatabaseCopyStatus

Datenbank einbinden

Jetzt ist zwar die Datenbank mit den Postfächern wiederhergestellt, allerdings verweisen die Benutzerkonten der beiden Testbenutzer immer noch auf die “alte defekte” Datenbank MDB2. Im folgendem Screenshot ist das Benutzerkonto von “Benutzer1” zu sehen, welches noch auf die falsche Datenbank verweist:

Rehoming der Postfächer durchführen

Damit die Konten nun auf die neue wiederhergestellte Datenbank zeigen, muss alle Postfächer aus MDB2 nun an die Datenbank MDB2-Restore verwiesen werden (Rehoming). Dafür kann der folgende Befehl genutzt werden:

Get-Mailbox -Database "MDB2" –resultsize unlimited | Set-Mailbox -Database "MDB-Restore"

Rehoming der Postfächer durchführen

Nach dem Ausführen verweisen nun die entsprechenden Postfächer auf die wiederhergestellte Datenbank und die Benutzer können sich wieder verbinden:

Rehoming der Postfächer durchführen

Es gibt noch weitere Spielarten für die Wiederherstellung von Datenbanken. Weitere Methoden folgen in den nächsten Artikeln. Es kann ja nicht schaden die Optionen zu kennen…

9 Gedanken zu „Exchange 2016: Wiederherstellung einer Datenbank auf einem anderen Server“

  1. Hallo, eine Frage hierzu. Wenn ich zwei Exchange 2016 habe auf jeweils Windows 2016 Std. und einmal mit CU14 und einmal mit CU19; kann ich vom CU14 die Datenbank nehmen und im CU19 einfach einhängen und dann die User auf die CU19 verweisen (also den entsprechenden Server)?
    mfg.
    Hartmut

    Antworten
  2. Hallo bei mir fehlt der Reiter Attribut Editor und beim einbinden der Datenbank mag er den Namen Database nicht.

    Hatte mit den exchange mit einer dag zerschossen. (nach Anmeldung nurnoch http 500)

    Antworten
  3. Hallo,

    ist ein ReHoming auch für öffentliche Ordner möglich?
    Wenn ich es richtig verstanden habe, liegen die öffentlichen Ordner doch auf in der einen Datenbank. Diese habe ich laut Deiner Anleitung erfolgreich auf einen anderen Server verschoben. Jetzt muss aber noch die Verknüpfung auf die wiederhergestellte Datenbank auf dem neuen Server verweisen. Wie stelle ich das an.

    VG Matthias.

    Antworten

Schreibe einen Kommentar