REVISIÓN: Se produce el problema de rendimiento cuando se utiliza el controlador ODBC de sqlncli11.dll para tener acceso a SQL Server en una aplicación

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 3041859
Síntomas
Se supone que usa un controlador ODBC de sqlncli11.dll acceso a Microsoft SQL Server 2012 o 2014 de SQL Server en una aplicación. Al utilizar cursores de servidor y el SQLFetcho la función SQLGetData para tener acceso a algunos binario grande de objeto datos (BLOB) en SQL Server, se produce un problema de rendimiento especialmente para tipos de datos de gran tamaño como varbinary (max) o varchar (max).
Causa
Se trata de un problema de diseño para la implementación de la SQLFetchfunción SQLGetData en el controlador ODBC de SQL Server 2012. Cuando la consulta utiliza los cursores de servidor, el controlador ODBC llama sp_cursorfetch durante la implementación de SQLFetch y el servidor envía al cliente todos los BLOB. A continuación, cuando se ejecuta SQLGetData , sp_cursor aporta todo el BLOB de nuevo. Esto afecta en gran medida el rendimiento para los tipos de datos de gran tamaño como varchar (max) y varbinary (max).
Solución

Información sobre la actualización acumulativa

La nueva implementación invoca sp_cursoroption para obtener TEXTPTR_ONLY antes de la sp_cursorfetche invoca sp_cursoroption para darles TEXTDATA antes el sp_cursor. Esto puede mejorar el rendimiento.

El problema se solucionó primero en la siguiente actualización acumulativa de SQL Server.

Recomendación: Instale la actualización acumulativa más reciente para SQL Server
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y todas revisiones de la seguridad que se incluyeron en la actualización acumulativa anterior. Se recomienda que 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".

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 3041859 - Última revisión: 06/24/2015 07:35:00 - Revisión: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3041859 KbMtes
Comentarios