Ausführen der Offline-Defragmentierung der Active Directory-Datenbank

In diesem Artikel wird beschrieben, wie Sie die Offlinedefragmentierung der Active Directory-Datenbank durchführen.

Gilt für: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Ursprüngliche KB-Nummer: 232122

Zusammenfassung

Active Directory führt die Onlinefragmentierung der Datenbank in bestimmten Intervallen im Rahmen des Garbage Collection-Prozesses automatisch durch. (Dies geschieht standardmäßig alle 12 Stunden.) Die Online-Defragmentierung reduziert nicht die Größe der Datenbankdatei (Ntds.dit), sondern optimiert stattdessen den Datenspeicher in der Datenbank und gibt Speicherplatz im Verzeichnis für neue Objekte frei.

Durch ausführen einer Offlinedefragmentierung wird eine neue Version der Datenbankdatei ohne interne Fragmentierung erstellt. Außerdem werden alle Indizes neu erstellt. Je nachdem, wie fragmentiert die ursprüngliche Datenbankdatei war, kann die neue Datei viel kleiner sein.

Ausführen der Offline-Defragmentierung der Active Directory-Datenbank

Führen Sie die folgenden Schritte aus, um die Offlinedefragmentierung der Active Directory-Datenbank durchzuführen:

  1. Sichern Sie Active Directory. Die Windows Server-Sicherung unterstützt nativ das Sichern von Active Directory im Onlinemodus. Dies geschieht automatisch, wenn Sie die Option zum Sichern aller Elemente auf dem Computer im Sicherungs-Assistenten auswählen, oder unabhängig, indem Sie den Systemstatus im Assistenten sichern.

  2. Führen Sie eine oder mehrere der folgenden Aktionen aus:

    • Beenden Sie die instance Active Directory Domain Services oder LDS.
    • Starten Sie msconfig, und wechseln Sie zum Startbereich. Wählen Sie die Betriebssysteminstallation aus, die Sie konfigurieren möchten. Wählen Sie im Abschnitt Startoptionen die Option Sicherer Start aus, und wählen Sie auch das Active Directory-Reparaturelement aus. Nachdem Sie auf OK geklickt haben, fordert das Tool Sie zum Neustart auf. Starten Sie den Computer neu.
  3. Melden Sie sich beim Administratorkonto an, indem Sie das Kennwort verwenden, das für das lokale Administratorkonto im Verzeichnisdienst-Wiederherstellungsmodus SAM definiert ist.

  4. Öffnen Sie ein Eingabeaufforderungsfenster .

  5. NTDSUTIL verwendet die Umgebungsvariablen TEMP und TMP, um während der Defragmentierung eine temporäre Datenbank zu erstellen. Wenn der freie Speicherplatz auf dem verwendeten Standardvolume kleiner als die Größe der komprimierten Datenbank ist, erhalten Sie die folgende Fehlermeldung:

    Dateiwartung: compact to d:\compactDB
    Der DEFRAGMENTIERUNGsmodus wird initiiert...
    Quelldatenbank: D:\windows\NTDS\ntds.dit
    Zieldatenbank: d:\compactDB\ntds.dit

    Defragmentierungsstatus (% abgeschlossen)

    0 10 20 30 40 50 60 70 80 90 100

    |----|----|----|----|----|----|----|----|----|----|

    .......................... Der Vorgang wurde mit dem Fehler -1808( JET_errDiskFull, Kein Speicherplatz auf dem Datenträger) beendet.

    Legen Sie in diesem Fall die Umgebungsvariablen TMP und TEMP auf ein Volume fest, das über genügend freien Speicherplatz für die Aufgabe verfügt. Verwenden Sie beispielsweise die folgenden Einstellungen:

    Md d:\temp
    Set tmp=d:\temp
    Set temp=d:\temp
    

    Hinweis

    Dieses Problem kann auch während einer Integritätsprüfung der Datenbank auftreten.

  6. Führen Sie NTDSUTIL aus.

  7. Geben Sie activate instance ntds ein, um die Active Directory-Datenbank-instance auszuwählen. Verwenden Sie den LDS-instance Namen, wenn Sie eine LDS-Datenbank komprimieren möchten.

  8. Geben Sie Dateien ein, und drücken Sie dann die EINGABETASTE.

  9. Geben Sie info ein, und drücken Sie dann die EINGABETASTE. Dadurch werden aktuelle Informationen zum Pfad und zur Größe der Active Directory-Datenbank und der zugehörigen Protokolldateien angezeigt. Notieren Sie sich den Pfad.

  10. Richten Sie einen Speicherort ein, der über ausreichend Speicherplatz für die komprimierte Datenbank verfügt, die gespeichert werden soll.

  11. Geben Sie compact to <drive>:\<directory> ein, und drücken Sie dann die EINGABETASTE. In diesem Befehl stellen die Platzhalter laufwerk> und <verzeichnis> den Pfad des Speicherorts <dar, den Sie im vorherigen Schritt eingerichtet haben.

    Hinweis

    Sie müssen einen Verzeichnispfad angeben. Wenn der Pfad Leerzeichen enthält, muss der gesamte Pfad in Anführungszeichen eingeschlossen werden. Geben Sie beispielsweise compact in "c:\new folder" ein.

  12. Eine neue Datenbank mit dem Namen Ntds.dit oder AdamNtds.dit wird in dem von Ihnen angegebenen Pfad erstellt.

  13. Geben Sie beenden ein, und drücken Sie dann die EINGABETASTE. Geben Sie erneut beenden ein, um zur Eingabeaufforderung zurückzukehren.

  14. Wenn die Defragmentierung ohne Fehler erfolgreich ist, befolgen Sie die Anweisungen Ntdsutil.exe auf dem Bildschirm. Löschen Sie alle Protokolldateien im Protokollverzeichnis, indem Sie den folgenden Befehl del drive :\ pathToLogFiles \*.logeingeben.

    Kopieren Sie die neue Datei Ntds.dit oder AdamNtds.dit über die alte Datenbankdatei im aktuellen Datenbankpfad, den Sie sich in Schritt 5 notiert haben.

    Hinweis

    Sie haben die Datei Edb.chk nicht gelöscht.

  15. Wenn Sie Active Directory Domain Services- oder LDS-instance beendet haben, können Sie sie jetzt neu starten.

  16. Wenn Sie im Active Directory-Wiederherstellungsmodus arbeiten, starten Sie msconfig, und wechseln Sie zum Startbereich. Wählen Sie die Betriebssysteminstallation aus, die Sie konfigurieren möchten. Klicken Sie auf diese Option, um den sicheren Start im Abschnitt Startoptionen zu deaktivieren. Wenn Sie auf OK klicken, werden Sie vom Tool zum Neustart aufgefordert. Starten Sie den Computer neu.