Cómo desfragmentar y compactar la base de datos del Directorio Activo

La recolección de basura automática no reduce el tamaño físico del archivo NTDS.dit. Optimiza el almacenamiento mediante una compactación manual del Directorio Activo de Windows 2000.

Mantenimiento avanzado: Desfragmentación Online vs. Offline

Por defecto, Active Directory realiza un proceso automático de "recolección de basura" cada 12 horas. Este proceso libera espacio dentro de la base de datos para nuevos objetos, pero no reduce el tamaño físico del archivo Ntds.dit en el disco duro. Para recuperar ese espacio en disco y compactar la base de datos, es necesario realizar una desfragmentación offline.

Este procedimiento requiere detener los servicios del directorio, por lo que debe planificarse durante una ventana de mantenimiento técnico.

Protocolo de compactación con la utilidad NTDSUTIL

Siga estos pasos estrictamente para asegurar la integridad de los servicios de identidad en Windows 2000 Server:

1. Preparación y Seguridad

  • Realiza una Copia de Seguridad del Estado del Sistema (System State Backup) antes de comenzar.
  • Crea una carpeta temporal para alojar la nueva base de datos compactada: MD D:\DB_Temporal.

2. Modo de Restauración de Servicios de Directorio (DSRM)

Reinicia el Controlador de Dominio y pulsa F8 durante el arranque. Selecciona Modo de restauración de servicios de directorio e inicia sesión con la contraseña de administrador local (DSRM).

3. Uso de la herramienta de línea de comandos

  1. Abre la consola cmd.exe y escribe el comando ntdsutil.
  2. Dentro de la herramienta, accede al menú de archivos escribiendo files.
  3. Ejecuta el comando info para verificar la ruta actual y el tamaño de la base de datos.
  4. Inicia la compactación: compact to D:\DB_Temporal.

4. Sustitución de la base de datos

Una vez finalizada la compactación, debes reemplazar el archivo original por el optimizado:

  • Escribe quit dos veces para salir de la utilidad.
  • Copia el nuevo archivo sobre el original: copy D:\DB_Temporal\ntds.dit C:\WINNT\NTDS\ntds.dit.
  • Importante: Elimina todos los archivos de registro (*.log) en el directorio NTDS original antes de reiniciar para evitar inconsistencias.

Resumen de comandos en NTDSUTIL

ComandoFunción Técnica
filesEntra en el modo de gestión de archivos de la base de datos.
infoMuestra rutas de la DB, logs y tamaño actual.
compact toCrea una copia comprimida de Ntds.dit sin fragmentación.

Finalización del proceso

Reinicia el servidor de forma normal. Tras comprobar que los servicios de Active Directory cargan correctamente, puedes proceder a eliminar la carpeta temporal D:\DB_Temporal. Notarás una mejora en la velocidad de respuesta de las consultas LDAP y una reducción en el uso de recursos de entrada/salida (I/O) del disco.

Nota de seguridad: Nunca intentes realizar este proceso moviendo archivos mientras el servicio de Directorio Activo está en ejecución en modo normal, ya que causaría la corrupción total de la base de datos del dominio.