Microsoft distribuye las correcciones de Microsoft SQL Server 2008 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección de SQL Server 2008 anterior.
Síntomas
Tenga en cuenta el siguiente escenario:
- Ejecuta una consulta paralela que usa la función row_number en Microsoft SQL Server 2008.
- Intenta ejecutar la consulta mediante una subconsulta que está dentro de una instrucción SELECT o una instrucción de lenguaje de manipulación de datos (DML).
En esta situación, puede experimentar uno de los siguientes problemas:
Recibe resultados incorrectos si ejecuta la consulta dentro de la instrucción SELECT muchas veces.
La tabla puede contener datos incorrectos si la consulta se ejecuta dentro de una instrucción DML. Si la tabla tiene restricciones, es posible que se produzca un error en la instrucción con una infracción de restricción.
Por ejemplo, puede producirse un error en una instrucción INSERT y se produce un error de infracción de clave principal si la tabla tiene una clave principal.
Nota: Estos problemas pueden producirse en una de las siguientes situaciones:
- Establece la opción de sugerencia de consulta MAXDOP en un valor mayor que 2.
- Establece la opción Grado máximo de paralelismo en un valor mayor que 2 en la configuración del servidor.
Resolución
Para resolver este problema, obtenga el Service Pack más reciente para SQL Server 2008. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
968382 Cómo obtener el Service Pack más reciente para SQL Server 2008
Solución alternativa
Para resolver este problema, use uno de los métodos siguientes:
Habilite la marca de seguimiento 4134 si ha aplicado una de las siguientes actualizaciones:
- Paquete de actualización acumulativa 6 para SQL Server 2008 o un paquete de actualización acumulativa posterior para SQL Server 2008
- Paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 1 (SP1) o un paquete de actualización acumulativa posterior para SQL Server 2008 SP1
Para obtener más información acerca de cómo habilitar las marcas de seguimiento, visite el siguiente sitio web de MSDN:
Consulte la sección "Solución alternativa" del artículo 970198 de Microsoft Knowledge Base.
Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
970198 CORRECCIÓN: en SQL Server 2008 se recibe un resultado incorrecto al ejecutar una consulta que usa la función row_number