Der Exchange Server ist abgestürzt und kann nicht mehr gestartet werden. Wir möchten die Postfachdatenbank auf einem zweiten Exchange-Server bereitstellen. Leider gibt es keine Schaltfläche zum Mounten der Postfachdatenbank. In diesem Artikel erfahren Sie, wie Sie eine Exchange Server-Postfachdatenbank ohne Datenverlust wiederherstellen.
Einführung
Wir haben einen ausgefallenen Exchange Server 2019 (EX01-2019), der nicht mehr booten kann, und einen stabilen Exchange Server 2019 (EX03-2019).
Es gibt zwei Postfachdatenbanken:
- Die PostfachdatenbankDB01ist die einzige Postfachdatenbank, die am EX01-2019 verwendet wurde. Da EX01-2019 nun offline ist, lautet der Bereitstellungsstatus des Datenbankpostfachs leiderUnbekannt(Offline) und nichts funktioniert.
- Die PostfachdatenbankPostfachdatenbankist an EX03-2019 montiert und wird nicht verwendet. Es ist bei guter Gesundheit.

Wie stellen wir also die Exchange-Postfachdatenbank auf dem neuen Exchange Server EX03-2019 wieder her?
Wir haben die PostfachdatenbankDB01(.edb)-Datei. Aber wie mounten wir die Postfachdatenbankdatei (.edb) auf dem neuen Exchange Server? Es gibt keine Option zum Mounten der Datenbank über einen Dateipfad im Exchange Admin Center oder mit PowerShell.
Der Exchange Server verfügt über eine Funktion namensDatenbankportabilität. Dadurch kann eine Postfachdatenbank von einem Postfachserver verschoben und auf einem anderen Postfachserver innerhalb derselben Organisation bereitgestellt werden.
Wichtig:Wenn Sie die Datenbankportabilität zum Wiederherstellen einer Postfachdatenbank verwenden, müssen die Betriebssystemversion und die Exchange Server-Version auf den Quell- und Ziel-Exchange-Servern identisch sein. Wenn beispielsweise eine Exchange 2016-Postfachdatenbank zuvor auf einem Server mit Windows Server 2016 bereitgestellt wurde, funktioniert die Datenbankportabilität nur, wenn die Datenbank auf einen Server migriert wird, auf dem auch Windows Server 2016 und Exchange 2016 ausgeführt werden.
Schritt 1: Rufen Sie den Status des Herunterfahrens der Quellpostfachdatenbank ab
Wir müssen den Status des Herunterfahrens der Datenbank überprüfen, um zu entscheiden, was der nächste Schritt sein wird.
Starten Sie die Eingabeaufforderung und führen Sie den folgenden Befehl aus.
eseutil /mh "C:BackupDB01DB01.edb"Sie können auch den folgenden Befehl ausführen, um nur das anzuzeigenZustandEigentum.
eseutil /mh "C:BackupDB01DB01.edb" | findstr "State:"Die Ausgabe zeigt den Wert anSauberes Herunterfahrenoder einSchmutziges Herunterfahren.
State: Clean ShutdownSchritt 2. Führen Sie eine Soft-Wiederherstellung der Quellpostfachdatenbank durch
Wenn sich die Postfachdatenbank im Zustand „Clean Shutdown“ befindet oder Sie nicht über die Transaktionsprotokolle verfügen, können Sie diesen Schritt überspringen.
Wenn sich die Datenbank im Zustand „Dirty Shutdown“ befindet und alle Transaktionsprotokolldateien verfügbar sind, führen Sie eine sanfte Wiederherstellung der Datenbank durch. Dadurch werden alle nicht festgeschriebenen Transaktionsprotokolle in die Datenbank übertragen, sodass kein Datenverlust auftritt.
Führen Sie den folgenden Befehl in der Eingabeaufforderung aus, um eine sanfte Wiederherstellung der Postfachdatenbank durchzuführen.
- /R: Protokollpräfix
- /l: Pfad zu Protokolldateien
- /D: Pfad zur Datenbankdatei
- /S: Pfad zur Prüfpunktdatei
eseutil /r E00 /l "C:BackupDB01 Logs" /d "C:BackupDB01" /s "C:BackupDB01 Logs"Die folgende Ausgabe erscheint.
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 15.02
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating RECOVERY mode...
Logfile base name: E00
Log files: C:BackupDB01 Logs
System files: C:BackupDB01 Logs
Database Directory: C:BackupDB01
Performing soft recovery...
Restore Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Operation completed successfully in 3.78 seconds.Schritt 3: Zielpostfachdatenbank erstellen
Führen Sie die Exchange-Verwaltungsshell als Administrator aus. Erstellen Sie eine neue Postfachdatenbank auf dem Exchange Server, die Sie zum Mounten der Datenbank verwenden. Geben Sie die Pfade für die Datenbankdatei und die Transaktionsprotokolle an.
Notiz:Die Ordner werden in den Pfaden erstellt, die Postfachdatenbankdatei oder die Datenbankprotokolle werden dort jedoch nicht angezeigt. Es wird nur angezeigt, wenn Sie die Postfachdatenbank bereitstellen. Allerdings werden Sie die Datenbank jetzt nicht mounten, da Sie sie in einem der nächsten Schritte durch das Backup ersetzen müssen.
New-MailboxDatabase -Name "DB01-Recovered" -Server "EX03-2019" -EdbFilePath "E:DB01-RecoveredDB01.edb" -LogFolderPath "F:DB01-Recovered"Die folgende Ausgabe erscheint.
Name Server Recovery ReplicationType
---- ------ -------- ---------------
DB01-Recovered EX03-2019 False None
WARNING: Please restart the Microsoft Exchange Information Store service on server EX03-2019 after adding new mailbox
databases.Markieren Sie die Datenbank als überschreibbar. Der-AllowFileRestoreDer Parameter gibt an, ob die Wiederherstellung einer Datenbank aus einer Sicherung zulässig ist.
Set-MailboxDatabase "DB01-Recovered" -AllowFileRestore:$trueWichtig:Hängen Sie die Postfachdatenbank nicht ein. Zuerst müssen Sie die Dateien der Quellpostfachdatenbank verschieben.
Schritt 4. Quellpostfachdatenbank und Protokolldateien verschieben
Holen Sie sich die Postfachdatenbank vom Backup oder vom nicht bootenden Exchange Server.
Verschieben Sie die Quellpostfachdatenbank und die Protokolldateien in die Zielpfade, die Sie im vorherigen Schritt erstellt haben.
Kopieren Sie die PostfachdatenbankDB01.edb.

Fügen Sie es in den Pfad einE:DB01 – wiederhergestelltam EX03-2019.

Kopieren Sie die PostfachdatenbankDB01-Protokolle. Wenn Sie nicht über die Transaktionsprotokolle der Postfachdatenbank verfügen, können Sie diesen Schritt überspringen.

Fügen Sie es in den Pfad einF:DB01 – wiederhergestellt.

Schritt 5. Zieldatenbank bereitstellen
Mounten Sie die DatenbankDB01 – wiederhergestellt.
Mount-Database "DB01-Recovered"Stellen Sie sicher, dass die Postfachdatenbank DB01-Recovered im Exchange Admin Center als bereitgestellt angezeigt wird.

Schritt 6: Postfachdatenbank für Benutzer einrichten
Lassen Sie uns die Postfächer von neu einrichtenDB01zumDB01 – wiederhergestellt.
Holen Sie sich die Postfächer in die DatenbankDB01.
Get-Mailbox -Database "DB01" -ResultSize UnlimitedEs zeigt den Benutzern an, dass sie mit EX01-2019 verbunden sind, was völlig normal ist.
Name Alias ServerName ProhibitSendQuota
---- ----- ---------- -----------------
Administrator Administrator ex01-2019 Unlimited
Max Fraser Max.Fraser ex01-2019 Unlimited
Richard Hunter Richard.Hunter ex01-2019 Unlimited
Boris Campbell Boris.Campbell ex01-2019 Unlimited
Alysia Maverick Alysia.Maverick ex01-2019 Unlimited
Christopher Payne Christopher.Payne ex01-2019 Unlimited
Nicholas Murray Nicholas.Murray ex01-2019 Unlimited
James Paterson James.Paterson ex01-2019 Unlimited
sharedmailboxonprem sharedmailboxonprem ex01-2019 UnlimitedSie müssen das Postfach auf den neuen Datenbanknamen festlegenDB01 – wiederhergestellt.
Ändern Sie die Postfachdatenbank für einen einzelnen Benutzer. Dadurch werden die Attribute für die Postfachdatenbank festgelegtDB01 – wiederhergestelltund legt automatisch den Servernamen festEX03-2019zu.
Set-Mailbox -Identity "Boris.Campbell" -Database "DB01-Recovered" -ForceLegen Sie es für alle Benutzer fest.
Get-Mailbox -Database "DB01" -ResultSize Unlimited | Set-Mailbox -Database "DB01-Recovered" -ForceWenn die Umgebung Probleme hat, wird dieGet-MailboxDas Cmdlet zeigt die Postfächer nicht an. Sie müssen also das verwendenHolen Sie sich dasstattdessen das Cmdlet.
Get-ADUser -Filter * -Properties msExchHomeServerName, homeMDB | Select-Object Name, msExchHomeServerName, homeMDB | Sort-Object Name | Out-GridViewDadurch werden alle Benutzer angezeigt.
Siehe auch:Konfigurieren Sie die E-Mail-Weiterleitung für das Postfach auf Exchange Server/Microsoft 365

Nicht alle Benutzer verfügen über ein Postfach und sie können sich in unterschiedlichen Datenbanken befinden. Filtern wir also nur nach den Benutzern von Exchange Server EX01-2019 und der Postfachdatenbank DB01.
# Define variables
$msExchHomeServerName = "/o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01-2019"
$homeMDB = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"
# Get users matching the specified criteria
Get-ADUser -Filter {msExchHomeServerName -eq $msExchHomeServerName -and homeMDB -eq $homeMDB} -Properties msExchHomeServerName, homeMDB | Select-Object Name, msExchHomeServerName, homeMDB | Sort-Object Name | Out-GridViewSo sieht die Ausgabe aus.

Lassen Sie uns die neue Postfachdatenbank einrichtenDB01 – wiederhergestelltfür alle gefilterten Benutzer.
# Define variables
$msExchHomeServerName = "/o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01-2019"
$homeMDB = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"
# Get users matching the specified criteria
$users = Get-ADUser -Filter {msExchHomeServerName -eq $msExchHomeServerName -and homeMDB -eq $homeMDB} -Properties SamAccountName, msExchHomeServerName, homeMDB
# Iterate through each user and set the mailbox database
foreach ($user in $users) {
Set-Mailbox -Identity $user.SamAccountName -Database "DB01-Recovered" -Force
Write-Host "Mailbox database set for user $($user.SamAccountName)" -ForegroundColor Green
}Die oben genannten Befehle haben nur die Postfächer und nicht die Archivpostfächer neu positioniert. Um die Archivpostfächer neu zu positionieren, müssen Sie den Attributwert „msExchArchiveDatabaseLink“ ändern.
Suchen Sie die Archivpostfächer, die sich in der Postfachdatenbank DB01 befinden.
$msExchArchiveDatabaseLink = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"
# Get users matching the specified criteria
Get-ADUser -Filter { msExchArchiveDatabaseLink -eq $msExchArchiveDatabaseLink } -Properties SamAccountName, msExchArchiveDatabaseLink, msExchHomeServerName | Select-Object Name, msExchArchiveDatabaseLink, msExchHomeServerName | Sort-Object Name | Out-GridViewLassen Sie uns die neue Postfachdatenbank einrichtenDB01 – wiederhergestelltfür alle Archivpostfächer.
# Define variable
$msExchArchiveDatabaseLink = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"
$msExchArchiveDatabaseLinkNew = "CN=DB01-Recovered,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"
# Get users matching the specified criteria
$users = Get-ADUser -Filter { msExchArchiveDatabaseLink -eq $msExchArchiveDatabaseLink } -Properties msExchArchiveDatabaseLink
# Update the msExchArchiveDatabaseLink attribute for each user
foreach ($user in $users) {
Set-ADUser -Identity $user -Replace @{msExchArchiveDatabaseLink = $msExchArchiveDatabaseLinkNew }
Write-Host "Mailbox database set for user $($user.SamAccountName)" -ForegroundColor Green
}Schritt 7. Postfach in der Zieldatenbank abrufen
Stellen Sie sicher, dass die Postfächer in der Postfachdatenbank DB01-Recovered gehostet werden.
Get-Mailbox -ResultSize Unlimited -Database "DB01-Recovered"Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ArchiveDatabase -like "DB01-Recovered"}Überprüfen Sie die Datenbank DB01 auf Postfächer. Es werden keine Ergebnisse angezeigt.
Get-Mailbox -ResultSize Unlimited -Database "DB01" Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ArchiveDatabase -like "DB01"}Was kommt als nächstes?
Die PostfachdatenbankDB01 – wiederhergestelltist online und jeder kann sich mit dem Exchange Server verbinden und mit seiner Arbeit fortfahren.
Sie können jetzt den EX01-2019-Server wiederherstellen. Befolgen Sie einen der folgenden Artikel, um Exchange Server wiederherzustellen:
- Exchange Server wiederherstellen (Standalone)
- Stellen Sie den Exchange DAG-Mitgliedsserver wieder her
Wenn Sie das nicht verwenden/Mode:RecoverServerWie in beiden Artikeln gezeigt, installieren Sie einen neuen Exchange Server in der Organisation. Obwohl dies nicht die empfohlene Methode ist, wird sie funktionieren. Sie müssen jedoch den alten Exchange Server aus ADSI Edit entfernen und weitere Postkonfigurationen auf dem Exchange Server einrichten.
Das ist es!
Abschluss
Sie haben gelernt, wie Sie die Postfachdatenbank von Exchange Server wiederherstellen. Es ist immer wichtig, ein Backup der Postfachdatenbank zu haben, da dort alle Postfachinformationen gespeichert sind. Befolgen Sie die Schritte, um die gesicherte Postfachdatenbank auf einem anderen Exchange Server bereitzustellen.
Hat Ihnen dieser Artikel gefallen? Möglicherweise gefällt Ihnen auch „Benutzerpostfach in Exchange Server erstellen“. Vergessen Sie nicht, uns zu folgen und diesen Artikel zu teilen.













