Wykonywanie defragmentacji bazy danych usługi Active Directory w trybie offline

W tym artykule opisano sposób wykonywania defragmentacji bazy danych usługi Active Directory w trybie offline.

              Dotyczy systemów: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Oryginalny numer KB: 232122

Podsumowanie

Usługa Active Directory automatycznie wykonuje defragmentację bazy danych w trybie online w określonych odstępach czasu w ramach procesu odzyskiwania pamięci. (Domyślnie jest to wykonywane co 12 godzin). Defragmentacja w trybie online nie zmniejsza rozmiaru pliku bazy danych (Ntds.dit), ale zamiast tego optymalizuje magazyn danych w bazie danych i odzyskuje miejsce w katalogu dla nowych obiektów.

Wykonanie defragmentacji w trybie offline powoduje utworzenie nowej wersji pliku bazy danych bez fragmentacji wewnętrznej. Spowoduje to również ponowne utworzenie wszystkich indeksów. W zależności od fragmentacji oryginalnego pliku bazy danych nowy plik może być znacznie mniejszy.

Wykonywanie defragmentacji bazy danych usługi Active Directory w trybie offline

Aby przeprowadzić defragmentację bazy danych usługi Active Directory w trybie offline, wykonaj następujące kroki:

  1. Tworzenie kopii zapasowej usługi Active Directory. Usługa Kopia zapasowa systemu Windows Server natywnie obsługuje tworzenie kopii zapasowej usługi Active Directory w trybie online. Dzieje się tak automatycznie po wybraniu opcji tworzenia kopii zapasowej wszystkich elementów na komputerze w Kreatorze kopii zapasowych lub niezależnie po wybraniu kopii zapasowej stanu systemu w kreatorze.

  2. Wykonaj jedną z następujących akcji:

    • Zatrzymaj wystąpienie Active Directory Domain Services lub LDS.
    • Uruchom program msconfig i przejdź do okienka rozruchowego. Wybierz instalację systemu operacyjnego, którą chcesz skonfigurować. Wybierz pozycję Bezpieczny rozruch w sekcji Opcje rozruchu , a także wybierz element naprawy usługi Active Directory . Po kliknięciu przycisku OK narzędzie wyświetli monit o ponowne uruchomienie. Uruchom ponownie komputer.
  3. Zaloguj się do konta administratora przy użyciu hasła zdefiniowanego dla konta administratora lokalnego w trybie przywracania usługi katalogowej SAM.

  4. Otwórz okno wiersza polecenia .

  5. NTDSUTIL używa zmiennych środowiskowych TEMP i TMP do utworzenia tymczasowej bazy danych podczas defragmentacji. Jeśli ilość wolnego miejsca na woluminie standardowym jest mniejsza niż rozmiar kompaktowanej bazy danych, zostanie wyświetlony następujący błąd:

    konserwacja plików: kompaktowa do d:\compactDB
    Trwa inicjowanie trybu DEFRAGMENTACJI...
    Źródłowa baza danych: D:\windows\NTDS\ntds.dit
    Docelowa baza danych: d:\compactDB\ntds.dit

    Stan defragmentacji (% ukończenia)

    0 10 20 30 40 50 60 70 80 90 100

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

    .......................... Operacja została zakończona z błędem -1808( JET_errDiskFull, Brak miejsca na dysku).

    W takim przypadku ustaw zmienne środowiskowe TMP i TEMP na wolumin, który ma wystarczająco dużo wolnego miejsca dla zadania. Na przykład użyj następujących ustawień:

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

    Uwaga

    Ten problem może również wystąpić podczas sprawdzania integralności bazy danych.

  6. Uruchom narzędzie NTDSUTIL.

  7. Wpisz polecenie aktywuj wystąpienie ntds, aby wybrać wystąpienie bazy danych usługi Active Directory. Jeśli chcesz skompaktować bazę danych LDS, użyj nazwy wystąpienia LDS.

  8. Wpisz pliki, a następnie naciśnij klawisz Enter.

  9. Wpisz informacje, a następnie naciśnij klawisz Enter. Spowoduje to wyświetlenie bieżących informacji o ścieżce i rozmiarze bazy danych usługi Active Directory oraz jej plików dziennika. Zanotuj ścieżkę.

  10. Ustal lokalizację, która ma wystarczającą ilość miejsca na dysku, aby zagęszczona baza danych była przechowywana.

  11. Wpisz compact to <drive>:\<directory>, a następnie naciśnij klawisz Enter. W tym poleceniu symbole zastępcze <dysku> i <katalogu> reprezentują ścieżkę lokalizacji, która została ustanowiona w poprzednim kroku.

    Uwaga

    Musisz określić ścieżkę katalogu. Jeśli ścieżka zawiera spacje, cała ścieżka musi być ujęta w cudzysłów. Na przykład wpisz kompaktowy ciąg "c:\nfolder ew".

  12. Nowa baza danych o nazwie Ntds.dit lub AdamNtds.dit jest tworzona w określonej ścieżce.

  13. Wpisz zamknij, a następnie naciśnij klawisz Enter. Wpisz zamknij ponownie, aby powrócić do wiersza polecenia.

  14. Jeśli defragmentacja zakończy się pomyślnie bez błędów, postępuj zgodnie z Ntdsutil.exe instrukcjami wyświetlanymi na ekranie. Usuń wszystkie pliki dziennika w katalogu dziennika, wpisując następujące polecenie del drive :\ pathToLogFiles \*.log.

    Skopiuj nowy plik Ntds.dit lub AdamNtds.dit na stary plik bazy danych w bieżącej ścieżce bazy danych zanotowanej w kroku 5.

    Uwaga

    Nie trzeba usuwać pliku Edb.chk.

  15. Jeśli zatrzymano Active Directory Domain Services lub wystąpienie LDS, możesz uruchomić je ponownie teraz.

  16. Jeśli pracujesz w trybie przywracania usługi Active Directory, uruchom program msconfig i przejdź do okienka rozruchu. Wybierz instalację systemu operacyjnego, którą chcesz skonfigurować. Kliknij, aby wyczyścić pozycję Bezpieczny rozruch w sekcji Opcje rozruchu . Po kliknięciu przycisku OK narzędzie wyświetli monit o ponowne uruchomienie. Uruchom ponownie komputer.