Microsoft distribuye las correcciones de Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) o Microsoft SQL Server 2012 en un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y actualizaciones de seguridad que se incluyeron con la versión anterior de actualización de SQL Server 2008 R2 Service Pack 1 (SP1) o Microsoft SQL Server 2012.
Síntomas
Tenga en cuenta el siguiente escenario:
- Actualiza de Microsoft SQL Server 2005 a Microsoft SQL Server 2008 o a Microsoft SQL Server 2008 R2 o a Microsoft SQL Server 2012.
- Ejecuta una consulta que utiliza el sp_cursoropen procedimiento almacenado y, a continuación, especifica el parámetro rowcount para capturar las primeras filas de una tabla.
En este escenario, el rendimiento puede ser más lento que si ejecuta la misma consulta en SQL Server 2005.
Causa
Este problema se produce porque el optimizador de consultas usa un plan de cursor estático en lugar de un plan de cursor dinámico. Para un plan de cursor estático, SQL Server captura todas las filas y las inserta en la tabla de trabajo de cursores. Pero para un plan de cursor dinámico, SQL Server captura solo las filas que son necesarias.
Resolución
Información sobre la actualización acumulativa
SQL Server 2012
La corrección para este problema se publicó por primera vez en la actualización acumulativa 1 para SQL Server 2012. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2679368 paquete de actualización acumulativa 1 para SQL Server 2012Nota: Dado que las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2012. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2692828 Compilaciones de SQL Server 2012 que se publicaron después de SQL Server de 2012 Debe aplicar una revisión de SQL Server 2012 a una instalación de SQL Server 2012.
5º paquete de actualización acumulativa para SQL Server 2008 R2 SP1
Después de aplicar esta revisión, habilite la marca de seguimiento 4199.
La corrección de este problema se publicó por primera vez en la actualización acumulativa 5. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2 SP1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2659694 paquete de actualización acumulativa 5 para SQL Server 2008 R2 SP1Nota: Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008 R2 SP1. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 Las compilaciones SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2 SP1
Solución alternativa
Para solucionar este problema, agregue la sugerencia de consulta FAST a la consulta.
Más información
Para obtener más información acerca de cómo usar las sugerencias de consulta, visite el siguiente sitio web de MSDN:
Información general acerca de cómo usar las sugerencias de consulta Para obtener más información sobre la marca de seguimiento 4199, visite el siguiente sitio web:
Información general sobre la marca de seguimiento 4199
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".