El controlador de dominio se ejecuta más lentamente o deja de responder cuando se ejecuta el proceso de recopilación de basura

Se aplica a: Microsoft Windows Server 2003 Datacenter Edition (32-bit x86)Microsoft Windows Server 2003 Datacenter Edition for Itanium-Based SystemsMicrosoft Windows Server 2003 Datacenter x64 Edition

Síntomas


En un controlador de dominio (DC) que ejecuta Windows Server 2003, Windows Server 2008 o Windows Server 2008 R2, puede experimentar los síntomas siguientes:
  • El servidor se ejecuta más despacio de lo esperado cada varias horas.
  • El servidor deja de responder cada varias horas.
Este problema dura varios minutos y luego desaparece.

Nota: Si utiliza a Monitor de rendimiento (Perfmon.exe) para supervisar el controlador de dominio, verá que el uso de la CPU y la E/S de disco son muy altos cuando se produce este problema.


Nota: Si habilita el registro de sucesos de la recogida de basura según KB314980, verá que el proceso de recopilación de basura se ejecuta cuando se produce este problema. Sin embargo, no se eliminan los objetos de desecho.


Cuando se produce este problema, se agregan uno o más de los siguientes sucesos en el registro del servicio de directorio:
Tipo de suceso: Error

Origen del suceso: NTDS ISAM

Categoría del suceso: (14)

Id. de suceso: 623

Fecha: < fecha >

Tiempo: < hora >

Usuario: N/D

Equipo: < nombre de equipo >

Descripción: NTDS (432) NTDSA: el almacén de versión para esta instancia (0) ha alcanzado su tamaño máximo de < número >. Es probable que una transacción de larga duración es impidiendo la limpieza del almacén de versión y produzca el aumento de tamaño. Se rechazarán las actualizaciones hasta que la transacción de larga duración ha sido completamente confirma o se deshace.

Transacción de larga ejecución posibles:

Idsesión: < Id. >

Contexto de la sesión: < contexto > ThreadId del contexto de sesión: < id > limpieza: 1
Tipo de suceso: Error

Origen del suceso: NTDS General

Categoría del suceso: Procesamiento interno

Id. de suceso: 1519

Fecha: < fecha >

Tiempo: < hora >

Usuario: NT AUTHORITY\LOCAL SERVICE

Equipo: < nombre de equipo >

Descripción: De Error interno: Active Directory no pudo realizar una operación porque la base de datos se ha quedado sin almacenamiento de información de versión.


Id. interno de datos adicionales: 2080490
Tipo de suceso: Error

Origen del suceso: Replicación de NTDS

Categoría del suceso: replicación

Id. de suceso: 1479

Descripción: Active Directory no pudo actualizar el siguiente objeto en el controlador de dominio local con los cambios recibidos del siguiente controlador de dominio de origen. Active Directory no tiene suficiente versión de base de datos para almacenar para aplicar los cambios.

Objeto: < DN de objeto >

GUID del objeto: < GUID de objeto >

Controlador de dominio de origen: < nombre DNS basado en GUID de DC >

Acción del usuario

Reinicie este controlador de dominio. Si esto no resuelve el problema, aumente el tamaño de la base de datos del almacén de versiones. Si va a llenar los objetos con un gran número de valores o el tamaño de los valores es muy grande, disminuya el tamaño de futuros cambios.

Datos adicionales

Valor de error: 8573 la base de datos está fuera del almacén de versiones.

Causa


Este problema se produce porque hay muchos objetos incoherentes o referencia fantasmas en Active Directory. Se establece el atributo DELTIME de estos objetos. Sin embargo, el atributo isDeleted de estos objetos es NULL. Debido al atributo DELTIME , garbagecollector incluye estos objetos en su análisis de base de datos. Por lo tanto, estos objetos no se puede eliminar. Muchos objetos incoherentes para hacer que el proceso de recopilación de basura utilizar un espacio de almacenamiento de información de versión.

Este problema se produce durante el proceso de recopilación de basura de los objetos de desecho. El código de limpieza de objetos de desecho en el proceso de recopilación de basura actualizará el DELTIME para estos objetos incoherentes, porque considera que ellos hacen referencia a fantasmas. En este estado, el código de limpieza de desecho genera una transacción de base de datos para estas actualizaciones y para muchos objetos consecutivos. Por lo tanto, el tamaño de la transacción supera el tamaño del almacén de versiones.

El recolector de elementos no utilizados lo trata como un error grave y se detiene. Los registros de la base de datos que requieren la limpieza no se analizan, objetos de desecho de ejemplo que están pendientes de eliminación. El procedimiento se vuelve a intentar en la próxima ejecución del recolector de elementos no utilizados. Por lo tanto, también puede fallar el siguiente intento.



Estos objetos incoherentes no son fáciles de identificar, como DELTIME es una columna de base de datos interna. No aparecen como tales objetos de la interfaz de usuario o de la exportación de una base de datos. Si sospecha se ven afectados por este problema, pero desea ser positivo que aplicar esta revisión le ayudará, recomendamos que en contacto con el soporte técnico de cliente de Microsoft para investigar el estado de las bases de datos afectadas.

Además, pueden deberse a estos eventos bytoo muchos fantasmas de referencia. Estos registros de base de datos son marcadores de posición para vínculos de objeto unidireccional (que no tengan ningún vínculo de retroceso) en que se eliminó el objeto de destino y el objeto de desecho se quita de la base de datos. Sin embargo, no se cambia la referencia. Estas referencias deben limpiarse. Puede hacerlo eliminando el valor del atributo o cambiando la referencia a un objeto válido. Un ejemplo de esta clase es la "secretaria" atributo.



Recomendamos que en contacto con el soporte técnico de cliente de Microsoft para ayudarle a identificar y eliminar estos fantasmas de referencia.

Solución


La revisión para Windows Server 2003 está disponible ahora. Si experimenta este problema en un equipo que ejecuta Windows Server 2008 o Windows Server 2008 R2, puede seguir los pasos proporcionados en la sección solución temporal. Se recomienda que en contacto con soporte técnico al cliente de Microsoft para obtener asistencia.

Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Para aplicar este hotfix, debe estar ejecutando Windows Server 2003 Service Pack 2 (SP2). Además, Active Directory debe estar instalada. Para obtener más información acerca de cómo obtener un service pack de Windows Server 2003 o un service pack de Windows XP Professional x64 Edition, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

889100 cómo obtener el service pack más reciente para Windows Server 2003

Requisito de reinicio

No es necesario que reinicie el equipo después de aplicar este hotfix.

Información de reemplazo de revisión

Esta revisión no sustituye a ninguna revisión publicada previamente.

Instrucciones de instalación

Después de instalar este hotfix, siga estos pasos.
  1. Reinicie el controlador de dominio en modo de restauración de servicios de directorio.
  2. Inicie sesión como administrador.
  3. Abra un símbolo del sistema.
  4. En el símbolo del sistema, escriba los comandos siguientes y presione ENTRAR después de cada comando:

    Ntdsutil
    análisis semántico de la base de datos
    Ir a corrección
  5. Después de ejecuta el comando, encontrará un archivo "dsdit.dmp.x" en la carpeta desde la que se ha ejecutado NTDSUTIL que enumera todos los objetos que se han corregido. "x" es el número de la ejecución del análisis semántico de la base de datos, por favor, inspeccione el archivo más reciente.
  6. Reinicie el equipo en modo normal.

Información de archivo

La versión en inglés (Estados Unidos) de esta revisión instala archivos que tienen los atributos enumerados en las tablas siguientes. Las fechas y las horas de estos archivos se muestran en la hora Universal coordinada (UTC). Las fechas y las horas de estos archivos en el equipo local se muestran en horario local junto con la diferencia de horario de verano (DST) actual. Además, las fechas y las horas pueden cambiar cuando realiza determinadas operaciones en los archivos.
Notas sobre la información de archivo de Windows Server 2003
  • Además de los archivos que se muestran en estas tablas, esta revisión también instala un archivo de catálogo de seguridad asociado (KBnúmero.cat) que está firmado con una firma digital de Microsoft.
Para todas las versiones compatibles basadas en x86 de Windows Server 2003 SP2

Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Ntdsutil.exe5.2.3790.4650312,83215-Jan-201012:42x86
Para todas las versiones compatibles basadas en x64 de Windows Server 2003 SP2

Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataformaRequisito de SPTipo de servicio
Ntdsutil.exe5.2.3790.4650503.29615-Jan-201015:14x64SP2No aplicable
Wntdsutil.exe5.2.3790.4650312,83215-Jan-201015:14x86SP2WOW
Para todas las versiones compatibles basadas en IA-64 de Windows Server 2003 SP2

Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataformaRequisito de SPTipo de servicio
Ntdsutil.exe5.2.3790.4650807,42415-Jan-201015:14IA-64SP2No aplicable
Wntdsutil.exe5.2.3790.4650312,83215-Jan-201015:14x86SP2WOW

Solución alternativa


Para solucionar el problema, aumente el tamaño de almacenamiento de información de versión cambiando el valor del elemento del registro siguiente:


Ubicación: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

Nombre: páginas EDB ver max (incremento durante el mínimo)
Tipo: REG_DWORD
Valor: < valor >
Nota: El valor de la opción es el número de bloques de memoria de 16KB (o fragmentos de memoria de 32KB en un procesador de 64 bits) que se reservan. Por ejemplo:
9600 = ~ 150 MB 32-bit, ~ 600 MB 64-bit
12800 = ~ 200 MB 32-bit, ~ 800 MB 64-bit
16000 = 250 MB 32-bit, ~ 1000 MB 64-bit
19200 = ~ 300 MB 32-bit, ~ 1200 MB 64-bit


(Nota de cambio de tamaño de puntero nativo de la máquina (4 bytes en CPU de 32 bits, 8 bytes en CPU de 64 bits,) también es un factor para calcular el tamaño del almacén de versión. Por lo tanto, uso eficaz de una CPU de 64 bits y OS cuadruplica el tamaño predeterminado del almacén de versiones.)


Nota: No se puede establecer un valor arbitrario alto, especialmente en un sistema operativo de x86. Puede quedarse sin memoria en el espacio de proceso LSASS para otras tareas.

Nota: Establecer el valor de "Páginas de ver max EDB (incremento durante el mínimo)" a cualquier cosa menos de 6400 no tendrá ningún efecto. 6400 es el valor predeterminado y el valor mínimo.

Recomendamos que se enfoque el valor requerido en incrementos de 50MB. El valor que permite una recolección a trabajar, a continuación, debe ser el valor base probado para otros controladores de dominio afectados. Si el recolector de elementos no utilizados no se ejecuta correctamente cuando el valor es "19200" (302 MB), recomendamos que se comunique con los servicios de soporte técnico de Microsoft para obtener ayuda.


Aumentar el tamaño de almacenamiento de información de versión es sólo un método temporal. Permite que el código de la colección de basura pasar estos objetos incoherentes. Sin embargo, este problema puede producirse de nuevo después de un intervalo de duración de objetos de desecho, o cuando los objetos vuelven a estar en el ámbito de la exploración del recolector de elementos no utilizados.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información


Este problema puede producirse después de realizar una restauración autoritativa. El problema se produce con bases de datos con objetos afectados 100.000 o más. Puede ejecutar el procedimiento de la sección de solución para corregir las bases de datos afectadas proactivamente o puede utilizar reactiva cuando encuentre los errores del almacén de versión en la sección síntomas.


Para obtener más información sobre el proceso de recopilación de basura de base de datos de Active Directory, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

Proceso de recopilación de basura de base de datos de 198793 Active Directory

Para obtener más información acerca de cómo habilitar el nivel de registro de la recogida de basura, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
314980 cómo configurar el registro de sucesos de diagnóstico de Active Directory en Windows Server 2003 y en Windows 2000 Server


Para obtener más información acerca de cómo habilitar el nivel de registro de la recogida de basura, visite el siguiente sitio Web:

Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft