Offlinedefragmentierung der Active Directory-Datenbank durchführen

In diesem Artikel wird beschrieben, wie Die Offlinedefragmentierung der Active Directory-Datenbank ausgeführt wird.

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

Zusammenfassung

Active Directory führt die Onlinedefragmentierung der Datenbank automatisch in bestimmten Intervallen als Teil des Garbage Collection-Prozesses aus. (Standardmäßig erfolgt dies alle 12 Stunden.) Die Onlinedefragmentierung 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 zurück.

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, ist die neue Datei möglicherweise viel kleiner.

Offlinedefragmentierung der Active Directory-Datenbank durchführen

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

  1. Sichern Sie Active Directory. Windows Server Backup unterstützt systemintern 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 davon, ob der Systemstatus im Assistenten gesichert werden soll.

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

    • Beenden Sie die Active Directory Domain Services- oder LDS-Instanz.
    • 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" und dann das Active Directory-Reparaturelement aus. Nachdem Sie auf "OK" geklickt haben, werden Sie aufgefordert, den Vorgang neu zu starten. Starten Sie den Computer neu.
  3. Melden Sie sich beim Administratorkonto mithilfe des Kennworts an, das für das lokale Administratorkonto im Verzeichnisdienstwiederherstellungsmodus-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, wird die folgende Fehlermeldung angezeigt:

    Dateiwartung: Komprimieren in d:\compactDB
    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 mehr 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-Datenbankinstanz auszuwählen. Verwenden Sie den NAMEN der LDS-Instanz, wenn Sie eine LDS-Datenbank komprimieren möchten.

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

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

  10. Legen Sie einen Speicherort fest, der über ausreichendEn Speicherplatz für die komprimierte Datenbank verfügt.

  11. Geben Sie compact to <drive>:\<directory> ein, und drücken Sie dann die EINGABETASTE. In diesem Befehl stellen das Platzhalterlaufwerk> und <das 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 z. B. "compact" in "c:\new folder" ein.

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

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

  14. Wenn die Defragmentierung ohne Fehler erfolgreich ist, folgen Sie den Ntdsutil.exe Anweisungen 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 in Schritt 5 notiert haben.

    Hinweis

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

  15. Wenn Sie Active Directory Domain Services oder LDS-Instanz 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, um den sicheren Start im Abschnitt " Startoptionen" zu löschen. Wenn Sie auf "OK" klicken, werden Sie vom Tool aufgefordert, den Vorgang neu zu starten. Starten Sie den Computer neu.