Problemas de coherencia y rendimiento cuando se cargan determinados módulos en el espacio de direcciones de SQL Server

Este artículo ayuda a resolver el problema que se produce cuando se cargan determinados módulos en el espacio de direcciones de SQL Server.

Versión del producto original:   SQL Server
Número de KB original:   2033238

Síntomas

Cuando se cargan determinados módulos en el espacio de direcciones de proceso de Microsoft SQL Server (Sqlservr.exe), es posible que se produzcan los síntomas siguientes:

  • Informes de distintos mensajes y condiciones de error relacionados con el bloqueo (por ejemplo, mensaje del programador de SQL Server como 17883, mensajes de tiempo de espera de la aplicación, bloqueo grave dentro de SQL Server)
  • Respuesta lenta de SQL Server incluso si la cantidad concurrente de carga no suele ser pesada
  • Excepciones (como infracciones de acceso), mensajes de error críticos sobre la coherencia de la base de datos, los mensajes de aserción o la terminación inesperada de procesos
  • 100% de uso de CPU y tiempos de recuperación de bases de datos prolongados cuando usa tablas OLTP en memoria en SQL Server
  • Errores inesperados o no explicados cuando los procesos de SQL Server realizan llamadas a la API de Windows

Causa

Estos problemas se producen porque las aplicaciones u otro software instalado en un servidor que ejecuta SQL Server pueden cargar determinados módulos en el proceso de SQL Server (Sqlservr.exe). Esto puede realizarse para lograr un requisito específico de lógica empresarial, una funcionalidad mejorada o una supervisión de intrusiones. Estos módulos pueden realizar actividades no compatibles que incluyen el retour de las API de Win32 y las rutinas de SQL Server importantes, y la llamada a las API peligrosas. Además, algunos problemas intrínsecos dentro de estos módulos pueden causar daños en varias estructuras de memoria que son necesarias para que el proceso de SQL Server funcione correctamente.

Solución alternativa

Advertencia

Esta solución puede hacer que un equipo o una red sea más vulnerable a los ataques de usuarios malintencionados o de software malintencionado, como los virus. No recomendamos esta solución, pero proporcionamos esta información para que pueda implementar esta solución a su discreción. Use esta solución alternativa bajo su propia responsabilidad.

Para solucionar este problema, siga estos pasos:

  1. Identifique el módulo que se carga en el proceso de SQL Server y que está causando el problema.

  2. Realice las siguientes acciones para el módulo en cuestión:

    1. Configure la aplicación para que no cargue el módulo específico en el proceso de SQL Server.
    2. Póngase en contacto con el proveedor del módulo o aplicación para buscar actualizaciones. Aplique las actualizaciones disponibles.
    3. En algunas ocasiones, es posible que tenga que quitar el módulo y su software asociado para restaurar la estabilidad en el proceso de SQL Server y en el sistema.

    Nota

    En algunos casos, es posible que tenga que realizar todas estas acciones.

Más información

El equipo de Microsoft Customer Support and Services (CSS) ha identificado los siguientes módulos que pueden provocar los síntomas que se mencionan en la sección "síntomas". Esta lista se actualizará a medida que se encuentren problemas nuevos. Esta lista se proporciona para ayudarle a identificar el proceso que se menciona en la sección "resolución". Este proceso suele implicar la recopilación de un conjunto iterativo de datos de diagnóstico y seguimiento para la duración del problema.

Los siguientes módulos pueden causar problemas de rendimiento y estabilidad cuando se cargan en el proceso de SQL Server:

  • ENTAPI.DLL

    ENTAPI.DLL se carga en el proceso de SQL Server si instala McAfee VirusScan Enterprise en un servidor que ejecuta Microsoft SQL Server y, a continuación, configura este software para supervisar SQL Server. Cuando se cargue este módulo, también se desplazará a las API de Win 32 desde el proceso de SQL Server. Si observa que este módulo se carga en el proceso de SQL Server, configure McAfee VirusScan Enterprise para que excluya SQL Server (Sqlservr.exe) de varios monitores avanzados, como la protección contra el desbordamiento de búfer.

  • HIPI.DLL, HcSQL.dll, HcApi.dll HcThe.dll

    Estos archivos DLL se cargan en el proceso de SQL Server si instala el software de prevención de intrusiones de host de McAfee en el mismo sistema que SQL Server. Si observa que este módulo se carga en el proceso de SQL Server, configure McAfee Host Intrusion Prevention para excluir SQL Server (Sqlservr.exe) de su lista de supervisión.

  • SOPHOS_DETOURED.DLL y SOPHOS_DETOURED_x64.DLL SWI_IFSLSP_64.dll

    Estos archivos DLL se cargan en el proceso de SQL Server si instala el programa Sophos antivirus en un servidor que ejecuta SQL Server. Si observa que este módulo se ha cargado en el proceso de SQL Server, puede configurar la subclave del registro AppInit_Dlls para evitar cargar este módulo en el proceso de SQL Server.

  • PIOLEDB.DLL y PISDK.DLL

    Estos archivos DLL se cargan en el proceso de SQL Server si se usa el proveedor OLEDB de PI para obtener acceso a datos de un servidor de PI o si se usan procedimientos almacenados extendidos que usan el SDK de PI. Si observa que estos módulos se cargan en el proceso de SQL Server, póngase en contacto con el proveedor de estos módulos para configurar el proveedor OLEDB como un proveedor fuera de proceso. Esta configuración ayuda a evitar la necesidad de cargar estos módulos en el proceso de SQL Server.

  • UMPPC . DLL, SCRIPTCONTROL. Biblioteca

    Estos archivos DLL se cargan en el espacio de direcciones de SQL Server o del Agente SQL Server si se habilita la configuración de prevención "datos de modo de usuario adicionales" para los programas de protección contra virus/terminal de CrowdStrike. Es posible que observe errores mientras el Agente SQL Server intenta crear nuevos procesos al ejecutar trabajos. También es posible que se produzcan errores al intentar iniciar SQL Server Management Studio.

  • Nombres de dll de la necesidad de negro de carbono

  • Trend Micro: necesita nombres de dll

    Consulte la opción lista de exclusión de proveedores de software en la lista de exclusión de análisis recomendada para los productos de punto de conexión de Trend Micro.

Para obtener más información acerca de cómo establecer directivas de exclusión para Sqlservr.exe en el software de la aplicación que se describe en este artículo, consulte el manual del producto o póngase en contacto con el proveedor de software.

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.

La información y la solución de este documento representan la vista actual de Microsoft Corporation sobre estos problemas a partir de la fecha de publicación. Esta solución está disponible a través de Microsoft o a través de un proveedor de terceros. Microsoft no recomienda específicamente ningún proveedor de terceros o solución de terceros que este artículo pueda describir. También podría haber otros proveedores de terceros o soluciones de terceros que no se describen en este artículo. Como Microsoft debe responder a las condiciones cambiantes del mercado, esta información no debe interpretarse como un compromiso por parte de Microsoft. Microsoft no puede garantizar ni respaldar la exactitud de la información o de cualquier solución presentada por Microsoft o por cualquier otro proveedor mencionado.

Microsoft no ofrece ninguna garantía y excluye todas las representaciones, garantías y condiciones, ya sean expresas, implícitas o legales. Entre ellas se incluyen, pero no se limitan a las representaciones, garantías o condiciones de título, no infracción, estado satisfactorio, comerciabilidad y idoneidad para un propósito determinado, en relación con cualquier servicio, solución, producto o cualquier otro material o información. En ningún caso será responsable a Microsoft de las soluciones de terceros que se mencionan en este artículo.

Referencias

Se aplica a

  • SQL Server 2005 Developer Edition
  • SQL Server 2005 Enterprise Edition
  • SQL Server 2005 Enterprise x64 Edition
  • SQL Server 2005 Express Edition
  • SQL Server 2005 Express Edition con Advanced Services
  • SQL Server 2005 Standard Edition
  • SQL Server 2005 Standard x64 Edition
  • SQL Server 2005 Workgroup Edition
  • SQL Server 2008 desarrollador
  • SQL Server 2008 Enterprise
  • SQL Server 2008 Express
  • SQL Server 2008 Express con Advanced Services
  • SQL Server 2008 R2 Datacenter
  • SQL Server 2008 R2 Developer
  • SQL Server 2008 R2 Enterprise
  • SQL Server 2008 R2 Express
  • SQL Server 2008 R2 Express con Advanced Services
  • SQL Server 2012 Analysis Services
  • SQL Server 2012 Business Intelligence
  • SQL Server 2012 desarrollador
  • SQL Server 2012 Enterprise
  • SQL Server 2012 Express
  • SQL Server 2012 Standard
  • SQL Server 2012 web
  • SQL Server 2012 Enterprise Core
  • SQL Server 2014 desarrollador
  • SQL Server 2014 Enterprise
  • SQL Server 2014 Enterprise Core
  • SQL Server 2014 Express
  • SQL Server 2014 Web
  • SQL Server 2014 Standard
  • SQL Server 2016 desarrollador
  • SQL Server 2016 Enterprise
  • SQL Server 2016 Enterprise Core
  • SQL Server 2016 Express
  • SQL Server 2016 Web
  • SQL Server 2016 Standard
  • SQL Server 2017 Developer en Windows
  • SQL Server 2017 Enterprise en Windows
  • SQL Server 2017 Enterprise Core en Windows
  • SQL Server 2017 Standard en Windows
  • SQL Server 2017 en Windows (todas las ediciones)