Cómo realizar la desfragmentación sin conexión de la base de datos de Active Directory

Se aplica a: Windows Server 2019Windows Server 2016Windows Server 2012 R2 Standard

Resumen


Active Directory realiza automáticamente la desfragmentación en línea de la base de datos en determinados intervalos como parte del proceso de recolección de elementos no utilizados. (De forma predeterminada, esto ocurre cada 12 horas.) La desfragmentación en línea no reduce el tamaño del archivo de base de datos (Ntds.dit), sino que optimiza el almacenamiento de datos en la base de datos y recupera espacio en el directorio para nuevos objetos.  Al realizar una desfragmentación sin conexión, se crea una nueva versión del archivo de base de datos sin fragmentación interna. También vuelve a crear todos los índices. Dependiendo de lo fragmentado que esté el archivo de base de datos original, el nuevo archivo puede ser mucho más pequeño.

Más información


Para realizar la desfragmentación sin conexión de la base de datos de Active Directory:
  1. Realice una copia de seguridad de Active Directory. Copia de seguridad de Windows Server admite de forma nativa la copia de seguridad de Active Directory mientras está en línea. Esto se produce automáticamente cuando se selecciona la opción para realizar una copia de seguridad de todo en el equipo en el Asistente para copia de seguridad, o de forma independiente seleccionando para realizar una copia de seguridad del "Estado del sistema" en el asistente.
  2. Realice una de las acciones siguientes:
    • Detenga la instancia de "Active Directory Domain Services" o LDS.
    • Inicie "msconfig" y vaya al panel de arranque. Seleccione la instalación del sistema operativo que desea configurar. Seleccione Arranque seguro en la sección Opciones de arranque y también seleccione el elemento de reparación de Active Directory. Después de hacer clic en Aceptar, la herramienta le pedirá que reinicie. Reinicie el equipo.
  3. Inicie sesión en la cuenta de administrador con la contraseña definida para la cuenta de administrador local en el SAM del modo de restauración del servicio de directorio.
  4. Abra una ventana del símbolo del sistema.
  5. NTDSUTIL utiliza las variables de entorno TEMP y TMP para crear una base de datos temporal durante la desfragmentación. Si el espacio libre en el volumen estándar utilizado es menor que el tamaño de la base de datos compactada, recibirá el siguiente error:
    mantenimiento de archivos: compacto a d:-compactDB Iniciando el modo DEFRAGMENTATION...      Base de datos de origen: D:-windows-NTDS-ntds.dit      Base de datos de destino: d:-compactDB-ntds.dit Estado de desfragmentación (% completado) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| .......................... Operación terminada con error -1808( JET_errDiskFull, No queda espacio en el disco).
    En el registro de aplicación, verá un evento similar al siguiente: En este caso, establezca las variables de entorno TMP y TEMP en un volumen que tenga suficiente espacio libre para la tarea. Por ejemplo, utilice la siguiente configuración:
    Md d:-temp Ajuste tmp-d:-temp Establezca temp-d:-temp
    Nota Este problema también puede producirse durante una comprobación de integridad de la base de datos.
  6. Ejecute NTDSUTIL.
  7. Escriba activate instance ntds para seleccionar la instancia de base de datos de Active Directory.  Utilice el nombre de instancia LDS si desea compactar una base de datos LDS.
  8. Escriba archivosy, a continuación, presione ENTRAR.
  9. Escriba infoy, a continuación, presione ENTRAR. Esto muestra información actual sobre la ruta de acceso y el tamaño de la base de datos de Active Directory y sus archivos de registro. Observe la ruta.
  10. Establezca una ubicación que tenga suficiente espacio en la unidad para que se almacene la base de datos compactada.
  11. Escriba compact para unidad:directorioy, a continuación, presione ENTRAR. Tenga en cuenta que, en este comando, la unidad de marcadores de posición y el directorio representan la ruta de acceso de la ubicación que estableció en el paso anterior. Nota Debe especificar una ruta de acceso de directorio. Si la ruta de acceso contiene espacios, toda la ruta de acceso debe estar entre comillas. Por ejemplo, escriba:
    compacto a "c:-carpeta nueva"
  12. Una nueva base de datos denominada Ntds.dit o AdamNtds.dit se crea en la ruta de acceso especificada.
  13. Escriba quity, a continuación, presione ENTRAR. Escriba quit de nuevo para volver al símbolo del sistema.
  14. Si la desfragmentación se realiza correctamente sin errores, siga las instrucciones en pantalla de Ntdsutil.exe. Elimine todos los archivos de registro del directorio de registro escribiendo el siguiente comando:
    del drive : pathToLogFiles .*.log
    Copie el nuevo archivo Ntds.dit o AdamNtds.dit sobre el archivo de base de datos antiguo en la ruta de acceso de base de datos actual que anotó en el paso 5.  Nota No tiene que eliminar el archivo Edb.chk.
  15. Si detuvo los servicios de dominio de Active Directory o la instancia LDS, puede reiniciarlo ahora.
  16. Si está trabajando en el modo restaurar Active Directory, inicie msconfig y vaya al panel de arranque. Seleccione la instalación del sistema operativo que desea configurar. Haga clic para desactivar Arranque seguro en la sección Opciones de arranque. Al hacer clic en Aceptar, la herramienta le pide que reinicie. Reinicie el equipo.