Web
Analytics Made Easy - StatCounter

Effettuare la manutenzione del database AD in Windows Server 2008 R2

compactdb01

Il funzionamento è lo stesso per ogni database: quando viene aggiunto un nuovo record, spazio aggiuntivo viene allocato dal database per salvare l’informazione. Quando si cancella un record però lo spazio allocato non viene rilasciato dal database. E’ necessario effettuare l’operazione di compact per recuperare lo spazio inutilizzato.

Il servizio AD DS effettua in automatico solamente una riorganizzazione dei dati per un accesso più semplice ma non recupera lo spazio allocato. Per effettuare l’operazione bisogna mettere il database offline ed effettuare la procedura di compaction.

In Windows Server 2008 R2, il servizio AD DS è un normale servizio di Windows che può essere arrestato e riavviato per effettuare operazioni di manutenzione senza dover avviare il DC in modalità Directory Service Repair Mode. Per fermare il servizio AD DS in un DC è comunque necessario che un altro “writable DC” possa essere contattato per permettere agli utenti di logarsi al dominio.

 

Procedura

Assicurarsi che un altro Domain Controller sia disponibile nel dominio prima di procedere.

Creare nel DC le directory C:\Temp, se non già presente, e C:\NTDS_original per “parcheggiare” il database compattato e originale.

compactdb02

Da Start –> Administrative Tools –> Services arrestare il servizio Active Directory Domain Services.

compactdb03

Cliccare su Yes per arrestare anche i servizio associati.

compactdb04

Il servizio Active Directory Domain Services viene arrestato.

compactdb05

Aprire il Command Prompt con privilegi di Administrator.

compactdb06

Tramite il tool ntdsutil, viene effettuata l’operazione di compattazione del database. Da console lanciare in sequenza i comandi:

ntdsutil
activate instance NTDS
files
compact to c:\temp

compactdb07

Terminata l’operazione, il database viene compattato e copiato nella directory C:\Temp come riportato dalla schermata.

compactdb08

Uscire da ntdsutil digitando due volte il comando quit.

quit
quit

compactdb09

Cancellare i log file dalla directory C:\Windows\NTDS.

C:\>cd %systemroot%\ntds
C:\Windows\NTDS>del *.log

compactdb10

Effettuare il backup del database ntds.dit originale nel folder C:\NTDS_original creato precedentemente nel caso qualcosa andasse storto.

C:\>cd %systemroot%\ntds
C:\Windows\NTDS> copy ntds.dit \NTDS_original

compactdb11

Copiare il database compattato nel folder NTDS.

C:\Windows\NTDS> copy c:\temp\ntds.dit
Y

compactdb12

Lo step successivo prevede la verifica dell’integrità del nuovo file ntds.dit e dei dati contenuti nel database tramite l’operazione di semantic database analysis.

Procedere con la verifica dell’integrità del file ntds.dit tramite i comandi:

ntdsutil
activate instance NTDS
files
integrity

compactdb13

Terminata la verifica, è necessario come suggerito di procedere con la semantic database analysis.

compactdb14

Per eseguire l’operazione successiva ed uscire da ntdsutil, digitare da console i seguenti comandi:

quit
semantic database analysis
go fixup
quit
quit

compactdb15
Da Start –> Administrative Tools –> Services selezionare con il tasto destro del mouse il servizio Active Directory Domain Services e cliccare su Start.

compactdb16

Il servizio AD DS viene avviato.

compactdb17

Cancellare il file C:\NTDS_original\ntds.dit poichè non più valido.

 

Automatizzare la procedura

Tutta l’operazione può essere automatizzata tramite script. Creare un file DB_maintenance.cmd con i comandi seguenti.

Testare lo script per verificare la sua funzionalità prima di utilizzarlo sui server in produzione.

compactdb18

La procedura è illustrata anche tramite supporto video.

Effettuare l’operazione a cadenza periodica per tenere sotto controllo la dimensione del database.

1