Realizar la desfragmentación sin conexión de la base de datos de Active Directory

En este artículo se describe cómo realizar la desfragmentación sin conexión de la base de datos de Active Directory.

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 232122

Resumen

Active Directory realiza automáticamente la desfragmentación en línea de la base de datos a determinados intervalos como parte del proceso de recolección de elementos no utilizados. (De forma predeterminada, esto se produce 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 reclama 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. En función de la fragmentación del archivo de base de datos original, el nuevo archivo puede ser mucho más pequeño.

Realizar la desfragmentación sin conexión de la base de datos de Active Directory

Para realizar la desfragmentación sin conexión de la base de datos de Active Directory, siga estos pasos:

  1. Copia de seguridad de Active Directory. Copias 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 hacer una copia de seguridad de todo en el equipo en el Asistente para copia de seguridad o de forma independiente seleccionando hacer una copia de seguridad del estado del sistema en el asistente.

  2. Realice una de las acciones siguientes:

    • Detenga la instancia de Servicios de dominio de Active Directory 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, además, seleccione el elemento de reparación de Active Directory . Después de hacer clic en Aceptar, la herramienta le pide que se reinicie. Reinicie el equipo.
  3. Inicie sesión en la cuenta de administrador mediante la contraseña que se define para la cuenta de administrador local en el modo de restauración del servicio de directorio SAM.

  4. Abra una ventana del símbolo del sistema .

  5. NTDSUTIL usa las variables de entorno TEMP y TMP para crear una base de datos temporal durante la desfragmentación. Si el espacio disponible 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: compacta a d:\compactDB
    Iniciando el modo DEFRAGMENTACIÓN...
    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

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

    .......................... La operación finalizó con el error -1808( JET_errDiskFull, no queda espacio en el disco).

    En este caso, establezca las variables de entorno TMP y TEMP en un volumen que tenga suficiente espacio libre para la tarea. Por ejemplo, use la siguiente configuración:

    Md d:\temp
    Set tmp=d:\temp
    Set 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. Use el nombre de instancia LDS si desea compactar una base de datos LDS.

  8. Escriba archivos y, a continuación, presione Entrar.

  9. Escriba información y, 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. Anote la ruta de acceso.

  10. Establezca una ubicación que tenga suficiente espacio de unidad para almacenar la base de datos compactada.

  11. Escriba compact to <drive>:\<directory> y presione Entrar. 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 compact en "c:\ncarpeta ew".

  12. Se crea una nueva base de datos denominada Ntds.dit o AdamNtds.dit en la ruta de acceso especificada.

  13. Escriba salir y, 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 Ntdsutil.exe en pantalla. Elimine todos los archivos de registro en el directorio de registro escribiendo el siguiente comando del drive :\ pathToLogFiles \*.log.

    Copie el nuevo archivo Ntds.dit o AdamNtds.dit en el archivo de base de datos anterior 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 Servicios de dominio de Active Directory instancia de LDS, puede reiniciarla ahora.

  16. Si está trabajando en el modo de restauración de Active Directory, inicie msconfig y vaya al panel de arranque. Seleccione la instalación del sistema operativo que desea configurar. Haga clic para borrar Arranque seguro en la sección Opciones de arranque . Al hacer clic en Aceptar, la herramienta le pide que se reinicie. Reinicie el equipo.