KB3041859 - CORRECCIÓN: Se produce un problema de rendimiento al usar sqlncli11.dll controlador ODBC para acceder a SQL Server en una aplicación

Se aplica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Síntomas

Supongamos que usa un controlador ODBC sqlncli11.dll para acceder a Microsoft SQL Server 2012 o SQL Server 2014 en una aplicación. Cuando utiliza el cursor del servidor y la función SQLFetch/ SQLGetData para tener acceso a algunos datos de objetos binarios grandes (BLOB) en SQL Server, se produce un problema de rendimiento, especialmente para tipos de datos grandes, como varbinary (max) o varchar (max).

Causa

Se trata de un problema de diseño para la implementación de la función SQLFetch/ SQLGetData en el controlador ODBC de SQL Server 2012. Cuando la consulta usa cursores de servidor, el controlador ODBC invoca sp_cursorfetch durante la implementación de SQLFetch y el servidor envía todos los blobs al cliente. Después, cuando se ejecuta SQLGetData, sp_cursor vuelve a traer todos los blobs. Esto afecta en gran medida al rendimiento de tipos de datos grandes, como varbinary (max) o varchar (max).

Resolución

Información sobre la actualización acumulativa

La nueva implementación invoca sp_cursoroption para obtener TEXTPTR_ONLY antes de la sp_cursorfetch y, después, invoca sp_cursoroption para volver a colocarlo en TEXTDATA antes del sp_cursor. Esto puede mejorar el rendimiento.

Este problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.

Recomendación: instalar la actualización acumulativa más reciente para SQL Server

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Se recomienda descargar e instalar las actualizaciones acumulativas más recientes para SQL Server:

      

Estado

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