Warteschlangendatenbank und Transaktionsprotokoll eines Exchange verschieben

Wenn mal wieder wenig Speicherplatz auf einem Exchange Server vorhanden ist, oder eine Reorganisation der Festplatten ansteht, kann es notwendig werden die Warteschlangendatenbank und die Transaktionsprotokolle an einen anderen Ort zu verlagern.

Hierfür gibt es 2 Vorgehensmöglichkeiten. Die Echangeverwaltungskonsole zählt allerdings nicht dazu. Jedenfalls ist mir hier keine Möglichkeit bekannt. Aber Exchange bringt mit den Verwaltungstools die Exchangeverwaltungsshell mit. Warum Microsoft die beiden verwirrenden Namen für 2 unterschiedliche Tools verwendet ist mir schleierhaft, ich jedenfalls verstehe unter Konsole ebenfalls ein Kommandozeilentool wie es die Shell ist.
Jedenfalls ist ein Powershellscript, für die anstehende Aufgabe, Bestandteil der Verwaltungsshell. Dieses können wir recht einfach verwenden und starten hierfür die Exchangeverwaltungsshell.

Move-TransportDatabase.ps1 -QueueDatabasePath: D:\Daten\Queue
Move-TransportDatabase.ps1 -QueueDatabaseLoggingPath: D:\Daten\Queue

Beide Befehle stoppen und starten den Exchange Transport Agenten automatisch. Daher diese beiden Befehle nacheinander ausführen. Wichtig zu wissen ist auch das hierbei die vorhandenen Ursprünglichen Dateien nicht verschoben sondern neu erstellt werden. Weiterhin ist darauf zu achten das D:\Daten\Queue noch nicht existiert. Hier kommt es unter Umständen zu Fehlern beim Starten des Transport Agenten.
Daher ist zur Vorbereitung das Verzeichniss D:\Daten zu erstellen und mit den notwendigen Rechten auszustatten. Die Benutzer bzw. Diente Netzwerkdienst, System und Administratoren benötigen Vollzugriff. Das Unterverzeichniss Queue wird durch den Transport Agenten neu erstellt.

Die 2. Möglichkeit benötigt die Verwaltungsshell nicht. Hierbei erstellen wir uns den Zielordner direkt selber und verwenden die herkömmliche Eingabeaufforderung. Wenn geplant ist die alte Warteschlangendatenbank und die alten Transaktionsprotokolle wieder zu verwenden, so ist diese Vorgehensweise vorzuziehen. Alle Arbeiten sind hier außerdem als lokaler Administrator vorzunehmen.
Also beginnen wir mit dem Erstellen des neuen Speicherortes. Wir erstellen also, diesmal direkt, das Verzeichniss D:\Daten\Queue und statten dieses mit denselben Rechten aus wie oben beschrieben. Anschließend stoppen wir über die Eingabeaufforderung den Exchange Transport Dienst:

net stop MSExchangeTransport

Nun muss die Datei bin\EdgeTransport.exe.config im Installationsverzeichniss des Exchange Servers mittels Notepad bearbeitet werden. Die beiden Schlüssel QueueDatabasePath und QueueDatabaseLoggingPath sind entsprechend anzupassen:

<add key="QueueDatabasePath" value="D:\Daten\Queue" />
<add key="QueueDatabaseLoggingPath" value="D:\Daten\Queue" />

Je nach Bedarf können nun die alte Warteschlangendatenbank und die alten Transaktionsprotokolle an den neuen Speicherort verschoben werden. Für die Warteschlangendatenbank sind dies die beiden Dateien: Mail.que und Trn.chk. Für die Transaktionsprotokolle sind dies: Trn.log, Trntmp.log, Trnxxxxx.log, Trnres00001.jrs, Trnres00002.jrs und Temp.edb
Zum Schluß starten wir den Exchange Transport Dienst wieder:

net start MSExchangeTransport