Defragmentieren der Exchange-Postfachdatenbank mit Eseutil /d PowerShell

Summary: Bei der Defragmentierung von Exchange-Datenbanken werden Fragmente entfernt und Daten oder Informationen in einer fortlaufenden Reihenfolge angeordnet, um den Zustand der Datenbank sicherzustellen und die Leseleistung zu verbessern. Es schrumpft auch die Datenbank durch das Löschen des "weißen Raums", der hilft, die Größe der Datenbank zu reduzieren und den Speicherplatz auf der Festplatte zu sparen. In diesem Blog haben wir die Schritte zur Defragmentierung und Optimierung der Exchange-Postfachdatenbank mithilfe der PowerShell-Cmdlets beschrieben.

In Microsoft Exchange Server nimmt die Datenbankgröße zu, je mehr Postfächer erstellt werden und je mehr Daten von den Benutzern beim Senden/Empfangen von E-Mails erzeugt werden.

Wenn einige E-Mail-Elemente aus den Postfächern gelöscht oder Postfächer aus den Exchange-Datenbanken entfernt werden, wird der durch gelöschte Elemente verbleibende freie Speicherplatz nicht zurückgewonnen.

Wenn die Datenbank beispielsweise 10 GB groß ist und Sie ein Postfach mit einer Größe von 2 GB löschen, bleibt die Datenbank 10 GB groß. Die 2 GB, die das gelöschte Postfach hinterlässt, werden “Weißer Speicher” genannt. 

Daher ist es wichtig und eine bewährte Praxis, den White Space durch Defragmentierung der Exchange-Datenbank wiederzugewinnen. Dies verringert die Größe der Datenbank und hilft, Datenbankbeschädigungen zu vermeiden, die durch geringen oder fehlenden Speicherplatz verursacht werden.

Warum die Exchange-Postfachdatenbank defragmentieren?

Die Defragmentierung ist ein Prozess, bei dem ungenutzter Speicherplatz bereinigt oder White Space aus der Datenbank zurückgewonnen wird, Datenfragmente entfernt und die Informationen in zusammenhängenden Regionen für einen schnellen Zugriff angeordnet werden.

Unter dem Gesichtspunkt der Leistung macht die Defragmentierung (Eseutil /d) den Datenbankzugriff schneller, da der Exchange Server eine große Datei nicht im Speicher verarbeiten oder die Datei öffnen und durchsuchen muss, was eine große Anzahl von Eingaben/Ausgaben im Speicher umsonst verursachen kann.

Ein weiterer Punkt ist der Betrieb des Servers. Wie Sie vielleicht wissen, reagiert Exchange Server empfindlich auf den Zustand der Datenbank, wenn es keinen oder zu wenig Speicherplatz gibt.

Datenbanken neigen dazu, die Festplatte mit ungenutztem Speicherplatz oder Protokolldateien zu füllen. Wenn der Speicherplatz nicht vergrößert oder die Protokolle nicht bereinigt werden, kann dies die Datenbank beschädigen und zu einer Korruption führen. Infolgedessen wird die Exchange-Datenbank abgebaut, die Client-Server-Konnektivität wird unterbrochen und die Benutzer können keine E-Mails mehr senden oder empfangen.

Daher ist es ratsam, einen Zeitplan für die regelmäßige Überprüfung des Datenbankzustands festzulegen, je nach Größe und Anzahl der Benutzer. Eine beschädigte Datenbank kann zum Verlust von Daten, Diensten und Geschäften führen.

Zu beachtende Punkte vor der Defragmentierung der Exchange-Postfachdatenbank mit Eseutil /d

Bevor Sie den Befehl Eseutil /d zum Defragmentieren der Exchange-Datenbank ausführen, müssen Sie Folgendes sicherstellen:

  1. Um eine Exchange Server-Datenbank zu defragmentieren, muss die Datenbank abgemeldet werden. Leider bedeutet dies, dass die Benutzer während dieses Vorgangs nicht auf ihre Postfächer zugreifen können.
  2. Die Defragmentierung der Exchange-Datenbank sollte nur nach Geschäftsschluss durchgeführt werden, da sie einige Zeit in Anspruch nehmen kann (abhängig von der Größe der Datenbank und des Servers/Speichers). 
  3. Es wird dringend empfohlen, vor der Defragmentierung eine Sicherungskopie der Datenbank zu erstellen, um für den Fall der Fälle gerüstet zu sein.
  4. Vergewissern Sie sich, dass auf dem Laufwerk, auf dem die Datenbank gespeichert ist, genügend freier Speicherplatz vorhanden ist, der der Größe der Datenbank entspricht oder größer ist als diese (vorzugsweise 1,1 oder 1,2 mal die Größe der Datenbank). Wenn Sie zu wenig Speicherplatz haben, könnte dies ein Problem darstellen.

Um den benötigten Speicherplatz zu berechnen, müssen Sie die Datenbankgröße in Ihrem Exchange Server überprüfen, die defragmentiert werden muss. Dazu können Sie das PowerShell-Cmdlet “Get-MailboxDatabase” verwenden, wie unten angegeben.

Get-MailboxDatabase -Status | ft name, Datenbankgröße, availablenewmailboxspace -auto

In der Ausgabe werden der Datenbankname, die Datenbankgröße und der AvailableNewMailboxSpace angezeigt.

Die Ausgabe zeigt den Datenbanknamen

Wie Sie aus dem obigen Beispiel ersehen können, hat die Postfachdatenbank 0954395982 eine Größe von 247,9 MB.

Andererseits hat sie auch 74,34 MB Weißraum. Natürlich handelt es sich um eine kleine Datenbank mit einigen wenigen Postfächern. Aber bei größeren Datenbanken führt eine Defragmentierung (Eseutil /d) zu erheblichen Leistungsverbesserungen auf den Festplatten und beim Betrieb des Servers.

Sie können die folgenden Formeln verwenden, um den gesamten freien Speicherplatz zu berechnen, der für die Defragmentierung der Exchange-Postfachdatenbank erforderlich ist.

250 MB 75 MB = 175 MB
175MB X 1.1 = 192.5MB – ist der minimale freie Speicherplatz, der für die Defragmentierung der Exchange-Postfachdatenbank erforderlich ist.

HINWEIS: Wir haben in den obigen Berechnungen 247,9 MB auf 250 MB aufgerundet.

Schritte zum Defragmentieren der Exchange-Postfachdatenbank mit dem Cmdlet Eseutil /d

Führen Sie die folgenden Schritte aus, um eine Exchange-Postfachdatenbank zu defragmentieren und zu optimieren:

Schritt 1: Starten Sie die Exchange Management Shell (EMS).

Schritt 2: Gehen Sie mit dem cd-Befehl zu dem Ordner, in dem sich die zu defragmentierende Datenbank befindet. Zum Beispiel,

cd "C:\Programmdateien\Microsoft\Exchange Server\V15\Mailbox\Mailbox-Datenbank 0954395982"
zum Ordner gehen

Schritt 3: Führen Sie den folgenden Befehl aus, um die Exchange-Postfachdatenbank zu deaktivieren.

Dismount-Datenbank <Datenbankname>
Exchange-Postfach-Datenbank

Schritt 4: Sobald die Datenbank demontiert ist, verwenden Sie den folgenden EseUtil-Befehl um den Defragmentierungsprozess zu starten.

Eseutil /d "Mailbox-Datenbank 0954395982.edb" /t "temp_0954395982.edb"
verwenden Sie den folgenden Befehl EseUtilEseUtil

Schritt 5: Nach der Defragmentierung (die je nach der Leistung des Servers/Speichers und der Größe der Datenbank einige Zeit in Anspruch nehmen kann) hängen Sie die Datenbank mit dem PowerShell-Cmdlet Mount-Database wieder ein.

Mount-Datenbank "Mailbox-Datenbank 0954395982"
PowerShell-Cmdlet Mount-Database.

Schritt 6: Nach dem Mounten der Datenbank und dem Testen der Konnektivität der betroffenen Benutzer können Sie prüfen, wie die Datenbank defragmentiert wurde, indem Sie die Datenbankgröße mit dem PowerShell-Cmdlet Get-MaiboxDatabase erneut überprüfen.

Get-MailboxDatabase -Status | ft name, databasesize, availablenewmailboxspace -auto

Hier können Sie sehen, dass die Datenbank von 247,9 MB auf 56 MB geschrumpft ist und nur noch 512 KB Leerraum aufweist.

Zum Abschluss

Wenn Sie während des Defragmentierungsvorgangs keine Probleme oder Fehlermeldungen erhalten haben, ist alles in Ordnung. Es gibt jedoch mehrere Faktoren, die die Datenbank vor und während des Defragmentierungsvorgangs (Eseutil /d) beschädigen können. Wenn Sie z. B. den freien Speicherplatz nicht berechnet oder nicht genügend Platz für die Ausführung des Prozesses gelassen haben, kann dies zu einem niedrigen oder vollen Speicherplatz führen, der den Server anhält und die Datenbank beschädigt.

In solchen Situationen ist für jeden Exchange-Administrator ein Exchange-Wiederherstellungs tool eines Drittanbieters wie Stellar Repair for Exchange sehr nützlich, um die Datenbank zu retten, wenn eine Katastrophe eingetreten ist. Mit Stellar Repair for Exchange können Sie jede beschädigte Exchange-Datenbank einer beliebigen Version reparieren und Daten in PST oder anderen Formaten wiederherstellen. Mit dieser Software können Sie auch direkt die Postfächer aus der reparierten Exchange-Datenbank in eine Live-Datenbank in Ihrem Exchange Server und einem Microsoft 365-Mieter exportieren.

Related Post

Exit mobile version