Whitespace in einer Microsoft Exchange Datenbank entfernen

Wenn Daten zu einer Exchange-Datenbank hinzufügt werden, erhöht sich damit zwangsläufig die Größe der Microsoft Exchange Datenbank. Wenn jedoch Postfächer gelöscht werden, nimmt die Größe der Microsoft Exchange-Datenbank nicht unbedingt ab - sie bleibt gleich.

Beispiel:

Wenn die Datenbank eine Größe von 30 GB hat und  4 GB an Daten werden gelöscht, beträgt die zu erwartende Größe der Datenbank 26 GB. Aber bei der Überprüfung der Datenbankgröße zeigt sich, dass die Größe gleich bleibt und es weiterhin 30 GB sind. Der verfügbare Speicherplatz für neue Daten beträgt jedoch 4 GB. Diese "Verfügbare neue Postfachgröße" wird allgemein als Whitespace bezeichnet.

 

Weitere Informationen über Whitespace

Whitespaces ist der Bereich in der Exchange-Datenbank, der durch das Löschen eines Elements oder Objekts (wie eines Postfachs) erstellt wird. Der Leerraum wird von der Exchange-Datenbank erneut zum Speichern neuer Elemente und Objekte verwendet. Die Änderung der Datenbank zeigt sich aber nicht in der Datenbankgröße. Dieser Speicherplatz kann jedoch manuell wiederhergestellt werden, indem der Whitespace entfernt wird.

 

Wie finde ich den Whitespace?

Es gibt drei Möglichkeiten, den in der Exchange-Datenbank verfügbaren Whitespace zu finden. Mit folgenden Befehlen kann der Whitespace angezeigt werden.

 

Überprüfung in einer Postfachdatenbank:

 

Get-MailboxDatabase <DB-Name> -Status | Select-Objekt Server, Name,AvailableNewMailboxSpace

 

Überprüfung in allen Postfachdatenbanken auf einem Server:

 

Get-MailboxDatabase -Status -Server <Servername> | Select-Objekt Server, Name, AvailableNewMailboxSpace

 

Überprüfung in allen Postfachdatenbanken auf allen Servern:

 

Get-MailboxDatabase -Status | Select-Objekt Server, Name,AvailableNewMailboxSpace

 

Manuelle Entfernung des Whitespaces

Der Whitespace kann aus der Exchange-Datenbank durch zwei Arten entfernt werden. Die eine Art ist mittels Defragmentierung, dieser Defragmentierungsprozess besteht aus zwei Möglichkeiten - online und offline. Die andere Art ist das Verschieben der Postfächer in eine neue Datenbank.

 

Defragmentierung

Online-Defragmentierung

Online-Datenbank-Defragmentierung ist ein vollständig automatischer Prozess. Dieser Vorgang muss nicht initiiert werden, Exchange führt diesen Vorgang jede Nacht automatisch durch. Online-Defragmentierung reduziert jedoch nicht die Größe der Datenbank - sie bleibt leider gleich. In diesem Prozess werden abgelaufenen Nachrichten und gelöschte Postfächer aus der Postfachdatenbank entfernt. Um die Größe der Datenbank zu reduzieren, sollte daher die Offline-Defragmentierung durchgeführt werden.

 

Offline-Defragmentierung

Die Offline-Datenbankdefragmentierung hilft, die Größe der Exchange-Datenbank zu reduzieren . Mit diesem Prozess kann die Größe der Datenbank komprimiert werden, indem der ungenutzte Speicherplatz ausgelassen wird. Dieser Prozess erstellt eine neue Datenbank ohne leere Seiten (sie ersetzt die älteren durch die neuen oder löscht die älteren).  Der Defragmentierungsprozesse wird mit dem Exchange Tool Eseutil durchgeführt. Dieser Prozess verbessert die Effizienz der Exchange-Datenbank. Da Eseutil eine neue Datenbank anlegt, wird zur Offline Defragmentierung viel Platz benötigt, nämlich soviel wie die Datenbank groß ist.

 

Hinweis:

Der Umgang mit Eseutil erfordert Erfahrung und sollte nicht einfach so durchgeführt werden. Vor dem Starten des Offline Defragmentierungsprozesses, sollte auf jeden Fall ein Backup der Datenbank durchgeführt werden.

 

Defragmentiert wird die Datenbank wie folgt:

 

Im ersten Schritt ist zu überprüfen, wie viel Whitespace in der Datenbank vorhanden ist. Das wird mit folgendem Befehl in der Exchange Powershell abgefragt:

 

Get-MailboxDatabase <Datenbankname> -Status | fl Name, DatabaseSize, AvailableNewMailboxSpace

 

Danach muss die Bereitstellung der Datenbank aufgehoben werden:

 

Dismount-Database <Datenbankname>

 

Sobald Sie die Bereitstellung der Exchange-Datenbank aufgehoben wurde, kann nun die Datenbank defragmentiert werden.

 

Eseutil / d <Datenbankname>

 

Der Defragmentierungsprozess dauert, abhängig von der Größe der Datenbank, recht lange. Wenn der Prozess abgeschlossen ist, kann die Datenbank wieder bereitgestellt werden.

 

Mount-Database <Datenbankname>

 

Anschließend wird erneut der Whitespace in der Datenbank überprüft, um zu schauen inwieweit die Datenbank verkleinert wurde. 

 

Get-MailboxDatabase <Datenbankname> -Status | fl name, DatabaseSize, AvailableNewMailboxSpace

 

Postfachverschiebung

Eine weitere Möglichkeit und in meinen Augen die sicherste Möglichkeit, ist das Anlegen einer neuen Datenbank und anschließende Verschiebung der Mailboxen. 

 

Dieser Vorgang ist am sichersten, weil hier nicht direkt an der Datenbank manipuliert wird. Das Verschieben der Mailbox kann auch während des laufenden Betriebes geschehen, bei den Exchange Versionen 2013 / 2016 merkt selbst der User nichts davon.

 

Kommentar schreiben

Kommentare: 2
  • #1

    bopeter (Sonntag, 26 Juli 2020 23:49)

    Danke für Ihrem Rat.

  • #2

    Erik (Mittwoch, 12 Januar 2022 23:46)

    Thx - super erklärt