Active Directory: Datenbank pflegen und reparieren
Offline Defragmentierung
Der einzige Grund für eine Offline-Defragmentierung ist, dass Sie Festplattenspeicher zurückhaben wollen, den Ntds.dit
einnimmt. Die Online-Defragmentierung packt zwar die Datenbank, gibt aber keinen Festplattenspeicher frei. Folgendermaßen können Sie eine Offline-Defragmentierung durchführen:
-
Fahren Sie den Domänencontroller im Verzeichnisdienst-Wiederherstellungsmodus hoch und starten Sie Ntdsutil.
-
Geben Sie an der Eingabeaufforderung
Ntdsutil
: den Befehl Files ein, um die EingabeaufforderungFile Maintenance
zu öffnen. -
Geben Sie
Compact to <verzeichnis>
ein, wobei<verzeichnis>
der Name des Temporärverzeichnisses ist, in dem die komprimierte NTDS.DIT gespeichert wird. Die Beispielausgabe:
file maintenance: compact to C:\xxx
Die Datenbank [Current] wird geöffnet.
Folgendes Verzeichnis wird erstellt: C:\xxx
Befehl wird ausgeführt: C:\WINDOWS\system32\esentutl.exe /d"C:\WINDOWS\NTDS\ntds
.dit" /t"C:\xxx\ntds.dit" /p /o
Initiating DEFRAGMENTATION mode...
Database: C:\WINDOWS\NTDS\ntds.dit
Temp. Database: C:\xxx\ntds.dit
Defragmentation Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
Note:
It is recommended that you immediately perform a full backup of this database. If you restore a backup made before the defragmentation, the database will be rolled back to the state it was in at the time of that backup.
Operation completed successfully in 9.304 seconds.
Erstellter Prozessbeendigungscode 0x0(0)
Wenn die Komprimierung einwandfrei durchgeführt wurde, tun Sie Folgendes:
copy "C:\xxx\ntds.dit" "C:\WINDOWS\NTDS\ntds.dit"
und die alten Protokolldateien löschen:
del C:\WINDOWS\NTDS\*.log
-
Kopieren Sie nun die neue
Ntds.dit
in das ursprüngliche Verzeichnis\NTDS
. Wenn Sie wollen, können Sie das neue Verzeichnis auch lassen, wo es ist, und die Verzeichniszeiger anpassen:
Set Path Backup <verzeichnis>
Set path DB <verzeichnis>
Set path logs <verzeichnis>
Set path working dir <verzeichnis>
Wenn Ihre Protokolle auf einem anderen Laufwerk liegen, lassen Sie den Befehl Set path logs
an dieser Stelle weg.