Eseguire la deframmentazione offline del database di Active Directory

Questo articolo descrive come eseguire la deframmentazione offline del database di Active Directory.

Si applica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numero KB originale: 232122

Riepilogo

Active Directory esegue automaticamente la deframmentazione online del database a determinati intervalli come parte del processo di Garbage Collection. Per impostazione predefinita, si verifica ogni 12 ore. La deframmentazione online non riduce le dimensioni del file di database (Ntds.dit), ma ottimizza invece l'archiviazione dei dati nel database e recupera lo spazio nella directory per i nuovi oggetti.

L'esecuzione di una deframmentazione offline crea una nuova versione del file di database senza frammentazione interna. Vengono inoltre ricreati tutti gli indici. A seconda della frammentazione del file di database originale, il nuovo file potrebbe essere molto più piccolo.

Eseguire la deframmentazione offline del database di Active Directory

Per eseguire la deframmentazione offline del database di Active Directory, seguire questa procedura:

  1. Eseguire il backup di Active Directory. Windows Server Backup supporta in modo nativo il backup di Active Directory mentre è online. Ciò si verifica automaticamente quando si seleziona l'opzione per eseguire il backup di tutti gli elementi nel computer nella Procedura guidata di backup oppure in modo indipendente selezionando di eseguire il backup dello stato del sistema nella procedura guidata.

  2. Eseguire una delle operazioni seguenti:

    • Arrestare l'istanza Active Directory Domain Services o LDS.
    • Avviare msconfig e passare al riquadro di avvio. Selezionare l'installazione del sistema operativo da configurare. Selezionare Avvio sicuro nella sezione Opzioni di avvio e selezionare anche l'elemento di ripristino di Active Directory . Dopo aver fatto clic su OK, lo strumento chiede di riavviare. Riavviare il computer.
  3. Accedere all'account amministratore usando la password definita per l'account amministratore locale nella modalità di ripristino del servizio directory SAM.

  4. Aprire una finestra del prompt dei comandi .

  5. NTDSUTIL usa le variabili di ambiente TEMP e TMP per creare un database temporaneo durante la deframmentazione. Se lo spazio disponibile nel volume standard usato è inferiore alle dimensioni del database compattato, viene visualizzato l'errore seguente:

    Manutenzione dei file: da compatta a d:\compactDB
    Avvio della modalità DEFRAMMENTAZIONE...
    Database di origine: D:\windows\NTDS\ntds.dit
    Database di destinazione: d:\compactDB\ntds.dit

    Stato deframmentazione (% completato)

    0 10 20 30 40 50 60 70 80 90 100

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

    .......................... Operazione terminata con errore -1808( JET_errDiskFull, Spazio non lasciato su disco).

    In questo caso, impostare le variabili di ambiente TMP e TEMP su un volume con spazio disponibile sufficiente per l'attività. Ad esempio, usare le impostazioni seguenti:

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

    Nota

    Questo problema può verificarsi anche durante un controllo dell'integrità del database.

  6. Eseguire NTDSUTIL.

  7. Digitare activate instance ntds per selezionare l'istanza del database di Active Directory. Usare il nome dell'istanza di LDS se si vuole compattare un database LDS.

  8. Digitare i file e quindi premere INVIO.

  9. Digitare informazioni e quindi premere INVIO. Vengono visualizzate le informazioni correnti sul percorso e sulle dimensioni del database di Active Directory e dei relativi file di log. Prendere nota del percorso.

  10. Stabilire una posizione che disponga di spazio sufficiente per l'archiviazione del database compattato.

  11. Digitare compact to <drive>:\<directory>, quindi premere INVIO. In questo comando i segnaposto <unità> e <directory> rappresentano il percorso del percorso stabilito nel passaggio precedente.

    Nota

    È necessario specificare un percorso di directory. Se il percorso contiene spazi, l'intero percorso deve essere racchiuso tra virgolette. Ad esempio, digitare compact in "c:\ncartella ew".

  12. Nel percorso specificato viene creato un nuovo database denominato Ntds.dit o AdamNtds.dit .

  13. Digitare quit (Esci) e quindi premere INVIO. Digitare di nuovo quit per tornare al prompt dei comandi.

  14. Se la deframmentazione ha esito positivo senza errori, seguire le istruzioni Ntdsutil.exe visualizzate. Eliminare tutti i file di log nella directory di log digitando il comando del drive :\ pathToLogFiles \*.logseguente.

    Copiare il nuovo file Ntds.dit o AdamNtds.dit sul file di database precedente nel percorso corrente del database annotato nel passaggio 5.

    Nota

    Non è necessario eliminare il file Edb.chk.

  15. Se è stata arrestata Active Directory Domain Services o un'istanza di LDS, è possibile riavviarla ora.

  16. Se si usa la modalità di ripristino di Active Directory, avviare msconfig e passare al riquadro di avvio. Selezionare l'installazione del sistema operativo da configurare. Fare clic per deselezionare Avvio sicuro nella sezione Opzioni di avvio . Quando si fa clic su OK, lo strumento chiede di riavviare. Riavviare il computer.