El proceso de tiempo de ejecución de SSIS 2008 se bloquea cuando se ejecuta el paquete SSIS 2008 bajo una condición de memoria baja

Microsoft distribuye correcciones de Microsoft SQL Server 2008 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008.

Síntomas

Tiene un paquete de Microsoft SQL Server 2008 Integration Services (SSIS 2008). El paquete contiene una tarea de flujo de datos. Al ejecutar el paquete en un servidor que se encuentra en una condición de poca memoria, se produce una infracción de acceso y, a continuación, se bloquea el proceso de tiempo de ejecución de SSIS 2008. Además, recibirá advertencias sobre la falta de memoria similares a los siguientes en el registro de aplicación de SSIS 2008:
Nombre del evento: OnInformation

Descripción: El Administrador de búfer error en una llamada de asignación de memoria para 10484760 bytes, pero no pudo intercambiar ningún búfer para aliviar la presión de memoria. 305 búferes y 295 estaban bloqueados. No había memoria suficiente está disponible para la canalización porque no hay suficiente se instalan, otros procesos lo estaban utilizando o demasiados búferes bloqueados.



Nombre del evento: OnInformation


Descripción: El Administrador de búfer ha asignado 10485608 bytes, aunque se ha detectado la necesidad de memoria y han fracasado los intentos repetidos para intercambiar los búferes.


Nota: Los distintos procesos en tiempo de ejecución que ejecutan paquetes SSIS 2008 son DTExec.exe, DTSHost.exe o DTSDebugHost.exe. El proceso que ejecuta el paquete SSIS 2008 viene determinado por las condiciones que el paquete está bajo. El proceso DTExec.exe ejecuta paquetes primario. El proceso DTSHost.exe ejecuta los paquetes secundarios. El proceso de DtsDebugHost.exe ejecuta los paquetes que se depuran de Business Intelligence Design Studio.

Causa

SSIS 2008 se notifica que el servidor está bajo una condición de memoria baja. Se produce una condición de poca memoria cuando sólo 128 MB 256 megabytes (MB) de memoria disponibles. A continuación, el proceso de tiempo de ejecución de SSIS 2008 comienza a intercambiar los búferes de canalización de flujo de datos en la carpeta temporal que se especifica mediante la propiedad BufferTempStoragePath .


En la situación que se menciona en la sección "Síntomas", los datos en un búfer se copian internamente a un búfer de destino mediante una transformación. Por ejemplo, los datos en un búfer se copian por una transformación Combinar unir. Esta operación se realiza mientras el servidor está bajo una condición de memoria baja. Sin embargo, la transformación no reconoce que un subproceso fuera la transformación retiró repentinamente el búfer de destino. Por lo tanto, la operación de copia se produce un error y, a continuación, hace que la infracción de acceso.

Solución

Esta revisión bloquea el búfer de destino explícitamente durante una operación de copia. Este comportamiento impide que otros subprocesos intercambiando el búfer de destino cuando se ejecuta la operación de copia.
La corrección para este problema se publicó primero en la actualización acumulativa 6 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
977443 acum actualizar paquete 6 para Service Pack 1 de SQL Server 2008
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
970365 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 en una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

Solución alternativa

Para evitar este problema, resuelva la condición de poca memoria. La cantidad de memoria que puede desencadenar este problema varía para los distintos equipos. Por lo general, esta cantidad es entre 32 y 64 MB. Por lo tanto, recomendamos que configure el servidor para asignar más de 64 MB de memoria disponible para 2008 de SSIS.

Varía la cantidad predeterminada de memoria disponible que indica un evento de notificación de recurso de memoria baja. Esta memoria disponible oscila entre 32 MB y 64 MB por cada 4 gigabytes (GB). Este problema es difícil de evitar porque la memoria disponible fluctúa en servidores de producción. Además, puede reducirse la memoria por diversas otras razones. Para obtener más información acerca de notificaciones de recursos de memoria, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):Para reducir la frecuencia de este problema, utilice uno de los métodos siguientes.

Método 1

Agregar más memoria física al equipo.

Método 2

Ejecute el paquete de SSIS 2008 en un equipo que no se está ejecutando una instancia de SQL Server.

Método 3

Cuando se ejecuta el paquete SSIS 2008, establezca la opción memoria máxima del servidor para la instancia de SQL Server 2008 en un valor menor. Este comportamiento aumenta la memoria disponible.

Método 4

Salga de las aplicaciones que consumen mucha memoria cuando se ejecuta el paquete SSIS 2008 que contiene tareas de flujo de datos.


Método 5

Ejecute el paquete de SSIS 2008 y las tareas de flujo de datos en serie, en lugar de en paralelo para reducir el uso de la memoria.


Método 6

Utilice el método que se describe en la subsección "Cómo supervisar el consumo de memoria de SSIS" de la sección "Más información" para solucionar la condición de poca memoria. A continuación, optimice el uso de memoria para 2008 de SSIS.

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

Cómo supervisar el consumo de memoria de SSIS

Supervisar la memoria para medir el uso pico para diversos procesos de tiempo de ejecución de SQL Server Integration Services calcular el uso de memoria máximo


Supervisar el uso pico de memoria de los distintos procesos de tiempo de ejecución de SQL Server Integration Services (SSIS) mediante la
Bytes privados
contador de la
Proceso
objeto de Monitor de rendimiento. El proceso DTExec.exe y DTSHost.exe son ejemplos de procesos de tiempo de ejecución SSIS.


Cuando se ejecutan los paquetes SSIS, encontrar el valor máximo para el
Bytes privados
contador. Cuando se ejecutan varios paquetes en paralelo, sume los valores máximos de todos los procesos que se ejecutan para obtener el máximo valor para el uso de la memoria.

Supervisar procesos externos para buscar picos y valles


Supervisar el uso pico de memoria de procesos fuera el servicio de SQL Server y el servicio SSIS mediante la
Bytes privados
contador de la
Proceso
objeto de Monitor de rendimiento. Busque los momentos de uso máximo que pueden disminuir la memoria disponible de SSIS. Por ejemplo, horas punta son cuando varios usuarios utilizan el protocolo de escritorio remoto (RDP) para conectarse al servidor o cuando se ejecuta el software de backup.

Supervisar el uso de memoria de SQL Server para buscar picos y valles


Si el mensaje "Using bloqueado páginas para grupo de búferes" no está en el archivo de registro de errores más reciente, el
Bytes privados
contador para el proceso Sqlservr.exe puede indicar cuánta memoria se consume en los servicios de SQL Server.



Si el mensaje "Using bloqueado páginas para grupo de búferes" está incluido en el archivo de registro de errores más reciente, utilice la
Memoria total del servidor (KB)
contador de la
SQL Server: Administrador de memoria
objeto de rendimiento para medir el uso de memoria de la agrupación de búfer de SQL Server. Además, utilizar el
Bytes privados
contador para el proceso Sqlservr.exe buscar las asignaciones de memoria fuera del grupo de búfer (MemToLeave). La suma del valor del contador Memoria Total del servidor (KB) y el valor MemToLeave es una buena estimación de la cantidad total de memoria que utiliza SQL Server.



Monitor de rendimiento y Administrador de tareas no muestran la memoria que se consume en estas páginas de grupo de búfer cuando se cumple una de las siguientes condiciones:
  • La
    Derecho de usuario Bloquear páginas en la memoria se asigna a la cuenta de inicio de servicio de SQL Server.
  • La
    AWE
    la memoria está habilitada.
Nota:
Cuando una de estas condiciones es true, el
Bytes privados
contador para el proceso de Sqlservr.exe debe indicar cuánta memoria se consume en los servicios de SQL Server en varias instancias de SQL Server.

Supervisar el valor mínimo de memoria disponible en Windows


Para supervisar la cantidad de memoria que está disponible en Windows, utilice uno de los métodos siguientes:
  • Utilice el
    MBytes disponibles
    contador de Monitor de rendimiento para indicar la cantidad de memoria disponible.
  • Vista de la
    Liberar memoria física (MB):
    valor en la ficha rendimiento del Administrador de tareas.


    Nota:
    En algunos sistemas operativos, la Memoria física (MB): libre
    valor aparece como el valor Físico memoria (K) – disponible .

Referencias

Para obtener información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 un modelo de servicio Incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados



Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

822499 Nuevo esquema de nomenclatura para los paquetes de actualización de software de Microsoft SQL Server


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
Propiedades

Id. de artículo: 977190 - Última revisión: 9 ene. 2017 - Revisión: 1

Comentarios