Praxis für Windows Server 2012 und 2012 R2

Active Directory - sichern, wiederherstellen und warten

Active-Directory-Datenbank offline defragmentieren

Die Active-Directory-Datenbank ist, so wie die Datenbank von Exchange, eine Jet-basierte ESE-Datenbank. Das Active Directory wächst zwar nicht so stark an wie die Datenbank eines Exchange-Servers, dennoch kann es sinnvoll sein, die Active-Directory-Datenbank zu defragmentieren. Vor allem in größeren Organisationen, bei denen das Active Directory durchaus mehrere GByte groß werden kann, sollte zumindest jährlich eine Offline-Defragmentierung durchgeführt werden.

Bevor Sie eine Offline-Defragmentierung durchführen, sollten Sie eine Sicherung des Systemstatus Ihres Active Directory durchführen. Wie bei der Offline-Defragmentierung von Exchange wird zunächst die Datenbank kopiert, dann offline defragmentiert und anschließend zurückkopiert. Stellen Sie daher sicher, dass auf dem Datenträger, auf dem Sie die Offline-Defragmentierung durchführen, genügend Speicherplatz frei ist. Für die Defragmentierung gehen Sie folgendermaßen vor:

  1. Starten Sie den Server im Verzeichnisdienstwiederherstellung-Modus

  2. Öffnen Sie eine Befehlszeile und starten Ntdsutil.exe.

  3. Geben Sie anschließend den Befehl activate instance ntds ein.

  4. Geben Sie den Befehl files ein, um zur file maintenance zu gelangen.

  5. Geben Sie den Befehl compact to <Laufwerk:\Verzeichnis> ein. Wählen Sie als Verzeichnis einen beliebigen Ordner auf der Festplatte aus. Ntdsutil.exe kopiert die Datenbankdatei in dieses Verzeichnis und defragmentiert sie.

  6. Wenn keine Fehlermeldungen während der Offline-Defragmentierung auftreten, können Sie die Datei ntds.dit aus dem Verzeichnis, in das sie defragmentiert wurde, zurück in den Datenbankpfad der produktiven Datenbank kopieren. Diesen Vorgang führt Ntdsutil.exe nicht automatisch aus, Sie müssen die Datei manuell kopieren. Sichern Sie die alte Version der ntds.dit aus dem produktiven Datenbankverzeichnis. Verschieben Sie die defragmentierte Datei in das produktive Verzeichnis der Datenbank und überschreiben Sie die alte Version.

  7. Geben Sie in der file maintenance von Ntdsutil den Befehl integrity ein, um die Integrität der Datenbank festzustellen.

Test: Das Beenden von Active Directory und das Testen der Datenbank in der Befehlszeile sind auch im laufenden Betrieb möglich.
Test: Das Beenden von Active Directory und das Testen der Datenbank in der Befehlszeile sind auch im laufenden Betrieb möglich.

Wenn die Integrität der neuen Datenbank sichergestellt ist, können Sie den Domänencontroller ganz normal neu starten. Sollten Fehler auftreten, kopieren Sie die zuvor gesicherte Originalversion zurück und führen einen erneuten Integritätstest durch. Ist der Test diesmal erfolgreich abgeschlossen, versuchen Sie erneut eine Offline-Defragmentierung und starten Sie den Test nochmals. Sie sollten den Domänencontroller erst in den normalen Modus starten, wenn sichergestellt ist, dass die Datenbank auch konsistent ist.

Da Active Directory als Systemdienst läuft, kann dieser für die Defragmentierung auch beendet werden. In diesem Fall muss der Server nicht im Verzeichnisdienstwiederherstellung-Modus gestartet werden, sodass andere Dienste auf dem Server weiter von den Anwendern verwendet werden können. Active Directory beenden Sie in der Befehlszeile über net stop ntds.