Active Directory es una base de datos no relacional y su tamaño aumenta con el tiempo, la base de datos ocupa cada vez más espacio en disco. Si elimina los objetos de Active Directory, el tamaño del archivo de la base de datos no cambiarse, pero el espacio libre (espacio en blanco) se puede usar para almacenar nuevos objetos en ese caso. Como cualquier otra base de datos, la base de datos de Active Directory debe mantenerse periódicamente para reducir la fragmentación de datos, acelerar la búsqueda y aumentar el rendimiento de las consultas LDAP.
Hay dos tipos de desfragmentación de la base de datos de Active Directory:
- Desfragmentación en línea – se realiza automáticamente cada 12 horas. En este caso, el servicio de Active Directory en un controlador de dominio sigue funcionando. Los datos en el archivo se reorganizan, se liberan bloques libres, pero el tamaño del archivo no se reduce.
- Desfragmentación sin conexión – realizado solo manualmente por el administrador de Active Directory, pero el servicio ADDS en un DC no está disponible en este momento. Este tipo de desfragmentación puede reducir significativamente el tamaño del archivo de la base de datos de AD y aumentar ligeramente el rendimiento de las consultas de AD.
Echemos un vistazo a cómo realizar desfragmentación fuera de línea de la base de datos de AD en un controlador de dominio con Windows Server 2012 R2.
La base de datos de Active Directory se almacena en ntds.dit archivo (por defecto se encuentra en la carpeta C:WindowsNTDS). Vamos a comprobar el tamaño actual de la existente ntds.dit expediente. En este caso, su tamaño es de unos 120 MB.

Propina. Antes de comenzar la desfragmentación sin conexión, se recomienda realizar una copia de seguridad completa de ntds.dit base de datos. Puede hacerlo utilizando una copia de seguridad estándar de Windows Server (copia de seguridad del estado del sistema) o utilidades de terceros.
Antes de continuar con el mantenimiento del archivo de la base de datos de Active Directory, debe detener el servicio de dominio de AD DS en el controlador de dominio actual. Para hacer esto, abra la consola de Servicios (Servicios.mmc), localizar Servicios de dominio de Active Directoryhaga clic derecho sobre él y seleccione Detener.
Propina.
- También puede detener ADDS usando el comando: parada neta NTDS
- Para detener el servicio ADDS en un controlador de dominio con Windows Server 2003 o anterior, debe reiniciar el controlador de dominio e iniciar el modo de restauración de servicios de directorio con la tecla F8

Después de que el sistema le advierta que cuando detenga los servicios de dominio de AD, los siguientes servicios dependientes también se detendrán:
- Centro de distribución de claves Kerberos;
- mensajería entre sitios;
- Servidor DNS;
- Replicación DFS.

A continuación, debe abrir una consola de símbolo del sistema (o PowerShell) como administrador.
Para uso de mantenimiento de Active Directory Ntdsutil.exe utilidad. Para ejecutarlo, escriba el comando:
ntdsutil

Luego, debe seleccionar la instancia actual de la base de datos de AD y cambiar al modo de archivo, escriba esto:
activate instance NTDS
files
El siguiente comando inicia el proceso de compresión de la base de datos. Como argumento del comando, debe especificar la ruta de la carpeta (en nuestro ejemplo, C: TempNTDS-DB), en la que se guardará la copia comprimida de la base de datos.
Compact to c:tempntds-db

Después de que comience el proceso de desfragmentación de la base de datos de AD. Su duración depende del tamaño de la base de datos. En nuestro ejemplo, la desfragmentación se realizó en un minuto.

Cuando se complete el proceso, verifique el tamaño actual de la base de datos de AD, como puede ver ntds.dit el tamaño del archivo se redujo de 120 a 35 Mb, ¡casi en 3,5 veces!

Ahora puede reemplazar viejos fragmentos ntds.dit a su versión desfragmentada y elimine los archivos de registro antiguos de AD de la carpeta C:WindowsNTDS:
Copy c:TempNTDSntds.dit c:windowsntds
Del C:Windowsntds*.log

Es muy recomendable comprobar el resultado ntds.dit integridad del archivo, para ello escriba los siguientes comandos en la sesión ntdsutil:
files
file maintenance
integrity
Si la verificación de integridad arroja un error, se recomienda intentar corregir los errores usando la misma utilidad ntdsutil (análisis de base de datos semántica con corrección) o restaurar una versión anterior del archivo desde la copia de seguridad.
Para finalizar la sesión de ntdsutil, escriba "q" y "quit".
Queda por ejecutar el servicio AD DS y comprobar los errores en el registro del servicio de directorio mediante la vista de eventos:
net start ntds

Propina. Tenga en cuenta que la desfragmentación y compresión de la base de datos de Active Directory debe realizarse en todos los controladores de dominio, porque el archivo ntds.dit es físicamente independiente en cada controlador de dominio y no se replica entre DC.





