Tipps für Admins: Exchange-Datenbanken löschen, die sich nicht löschen lassen
Mit wenigen Tricks können Administratoren auch Exchange-Datenbanken löschen, die sich nicht löschen lassen. Wir zeigen, wie Admins vorgehen müssen.
Die scheinbar einfache Aufgabe, das Löschen einer normalen Exchange Server-Datenbank, kann durchaus problematisch sein. Ich kenne eine Reihe von Situationen, in denen der Exchange Server Probleme bereitet, wenn man Datenbanken deaktivieren oder löschen möchte. Wie gehen Administratoren also vor, wenn Exchange es nicht zulässt, dass Sie eine Datenbank löschen?
Die häufigste Ursache für dieses Problem ist, dass Exchange Server es nicht erlaubt, eine Datenbank zu löschen, wenn diese ein Benutzer-Postfach enthält. In diesem Fall sollten Administratoren zunächst überprüfen, welche Postfächer in der Datenbank vorhanden sind. Die Postfächer sollten Sie in eine andere Datenbank verschieben.
Um eine Liste der Benutzer-Postfächer anzuzeigen, die in einer Datenbank existieren, verwenden Administratoren am besten die Exchange-Verwaltungsshell. Im nachstehenden Befehl muss <Datenbankname> mit dem tatsächlichen Postfach-Datenbanknamen ersetzt werden:
Get-Mailbox –Database "<Datenbankname>"
Wenn festgestellt wird, dass die Datenbank Benutzer-Postfächer enthält , können Administratoren das Verschieben dieser Postfächer initiieren, indem sie folgenden Befehl verwenden:
Get-Mailbox –Database "<Datenbankname>" | New-MoveRequest –TargetDatabase "<Ziel Datenbankname>"
Exchange Server 2013 nutzt für Öffentliche Ordner normale Postfächer und die Postfach-Datenbanken. Die neue Version macht keinen Unterschied mehr zwischen Postfächern und Öffentlichen Ordnern. Um ein öffentliches Ordner-Postfach zu entfernen, verwenden Administratoren die gleiche Methode, wie beim Entfernen von Benutzer-Postfächern. Allerdings muss im Befehl noch hinterlegt werden, dass es sich um eine „Öffentlicher-Ordner-Postfach“ handelt. Wenn eine Liste der öffentlichen Ordner-Postfächer angezeigt werden soll, können Administratoren folgenden Befehl verwenden:
Get-Mailbox – Database "<Datenbankname>" –PublicFolder
Auf ähnliche Weise verschieben Administratoren öffentliche Postfach-Ordner in andere Datenbanken:
Get-Mailbox –Database "<Datenbankname>" –PublicFolder | New-MoveRequest –TargetDatabase "<Ziel Datenbankname>"
Beim Verschieben müssen Admins beachten, dass sie nicht den PublicFolder-Schalter im Cmdlet New -MoveRequest verwenden .
Aber nicht nur die Benutzer-Postfächer und Öffentliche-Ordner-Postfächer können problematisch sein, wenn es darum geht Datenbanken zu löschen. Archiv-Postfächer können auch Probleme verursachen. Exchange Server versucht Ihnen dabei zu helfen, indem es eine Meldung anzeigt, die die Befehle auflistet, die verwendet wurden, um eine Liste der Archiv-Datenbanken anzuzeigen. Der Befehl lautet:
Get-Mailbox –Database DatabaseID –Archive
Leider funktioniert der Befehl nicht immer wie er sollte. Eine Zwischenlösung ist es, das Cmdlet Get-Mailbox auszuführen und die Ausgabe auf der Grundlage des Archiv-Attributs zu filtern. Das bedeutet, Administratoren erstellen einer Liste von Postfächern, bei denen das Archiv-Datenbank- Attribut dem Namen der Datenbank entspricht, die gelöscht werden soll.
Im folgenden Beispiel soll die Datenbank DB1 gelöscht werden. Wenn eine Liste aller Archiv-Postfächer in der Datenbank angezeigt werden soll, hilft dieser Befehl:
Get-Mailbox | Where-ArchiveDatabase –eq "DB1"
Verschieben von Postfächern, nachdem deren Speicherort bekannt ist
Die Ermittlung der Archiv-Postfächer ist nur der erste Schritt beim Löschen einer Exchange-Server-Datenbank. Sobald diese Postfächer identifiziert worden, müssen sie verschoben werden.
Dieser Vorgang kann wiederum mit Hilfe einer Verschiebungsanforderung erreicht werden. Der Befehl New-MoveRequest kann an den Befehl angehängt werden, der verwendet wurde , um die Archiv-Postfächer zu identifizieren. Der vollständige Befehl sieht wie folgt aus:
Get-Mailbox | Where-ArchiveDatabase –eq "<Datenbankname>" | New-MoveRequest –ArchiveOnly –ArchiveTargetDatabase "<target Datenbankname>"
Hier muss beachtet werden, dass dieses Mal die Verschiebungsanforderung den Archiv-Schalter anstatt des Target-Schalters verwendet. Auch in der Exchange-Verwaltungskonsole können Postfächer verschoben werden. Zum Verschieben navigieren Administratoren zu Empfänger/Postfächer. Durch einen Klick auf das Postfach, das verschoben werden soll, wird es markiert. Anschließend wählen Administratoren auf der rechten Seite bei Postfach verschieben den Link In eine andere Datenbank aus.
Wenn Administratoren die Postfächer aus einer Datenbank entfernen, sollten sie in der Lage sein, die Datenbank in der Exchange-Verwaltungskonsole zu löschen. Wenn allerdings bereits die Exchange-Verwaltungsshell geöffnet ist, könnte es einfacher sein, die Datenbank in der Shell zu entfernen:
Remove-MailboxDatabase –Identity "<Postfach Datenbankname>"
Löschen Administratoren Datenbanken in der Exchange-Verwaltungskonsole, werden allerdings die entsprechenden Dateien auf dem Dateisystem nicht gelöscht. Diese Dateien müssen manuell gelöscht werden, nachdem die entsprechende Datenbank aus der Exchange-Verwaltungskonsole entfernt wurde. Administratoren löschen die Datenbanken über den Bereich Server\Datenbanken.
Die Lösung für das Entfernen einer Postfach-Datenbank ist es sicherzustellen, dass keine Postfächer in der Datenbank gespeichert sind. Obwohl dieser Tipp sich auf das Verschieben der Postfächer in eine andere Datenbank konzentriert, können Administratoren die Postfächer auch mit dem Befehl Remove-Mailbox löschen.
Löschen von Postfächern
Klicken Administratoren auf ein Postfach in der Exchange-Verwaltungskonsole, können sie dieses mit dem Menüpunkt Löschen entfernen.
Administratoren können ein Postfach auch in der Exchange-Verwaltungsshell über den Befehl Remove-Mailbox -Identity <Domäne>\<Benutzername> löschen. Mit diesem Vorgang wird das Postfach des Benutzers von seinem Benutzerobjekt getrennt und zur Löschung markiert.
Jedoch kann dann das Postfach nur innerhalb eines bestimmten Zeitraums (standardmäßig 30 Tage) wieder mit dem Benutzer (oder einem anderen Benutzer) wiederhergestellt werden. Nach diesem Zeitraum wird das Postfach endgültig vom Server gelöscht. Admins können diesen Zeitraum in den Eigenschaften der Postfach-Datenbank im Fenster Grenzwerte definieren. Mit dem folgenden Befehl werden das Postfach sowie das zugehörige Benutzerkonto aus Active Directory entfernt:
Remove-Mailbox -Identity <Domäne>\<Benutzername> -Permanent
Verschieben von Datenbanken
Administratoren können Datenbanken auch an andere Orte auf dem Server verschieben. Dazu verwenden sie die Exchange-Verwaltungsshell und das Cmdlet Move-DatabasePath. Um den Verschiebungsvorgang auszuführen, muss die Einbindung der Datenbank vorübergehend aufgehoben werden.
Move-DatabasePath -Identity <Datenbank> -EdbFilePath <Neuer Pfad zur EDB-Datei>
Ist die Einbindung der Datenbank aufgehoben, wird die Datenbank nach Abschluss des Befehls nicht erneut eingebunden. Wenn die angegebene Datenbank bei der Ausführung eingebunden ist, wird die Einbindung automatisch aufgehoben und die Datenbank anschließend erneut eingebunden. In der Zwischenzeit ist die Datenbank für die Benutzer nicht verfügbar.
Administratoren können das Cmdlet nicht für replizierte Postfach-Datenbanken ausführen. Um den Pfad einer replizierten Datenbank zu ändern, müssen zunächst alle replizierten Kopien entfernt werden. Anschließend können Administratoren die Datenbank verschieben. Nach Abschluss des Verschiebungsvorgangs lassen sich Kopien der Postfach-Datenbank hinzufügen.
Folgen Sie SearchEnterpriseSoftware auf Twitter @sentsoftwarede.