Microsoft distribuye las correcciones de Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2012 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 anterior de correcciones de SQL Server 2008, SQL Server 2008 R2 o SQL Server 2012.
Síntomas
Supongamos que ejecuta una consulta que usa paralelismo en el plan de ejecución de consultas de Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2012. La consulta usa el operador relacional PIVOT o UNPIVOT y contiene al menos un parámetro en una lista de selección. En esta situación, se produce un error en la ejecución de la consulta y se muestra el siguiente mensaje de error:
Nota
Msj 0, Nivel 11, Estado 0, Línea 0
Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.
El mensaje de error siguiente también se registra en el archivo de registro de errores de SQL Server:
Nota
<Fecha><y hora> spid## SqlDumpExceptionHandler: El proceso 66 generó una excepción irrecuperable c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está finalizando este proceso.
<Error del servidor de fecha><y hora> : 17310, Gravedad: 20, Estado: 1.
<Servidor de fecha><y hora> Una solicitud de usuario de la sesión con SPID 66 generó una excepción irrecuperable. SQL Server finaliza esta sesión. Póngase en contacto con los servicios de soporte técnico de productos con el volcado producido en el directorio de registro.
Además, se produce una infracción de acceso en el servidor sqlservr! CScaOp_Identifier::CScaOp_Identifier clase.
Causa
Este problema se produce porque el optimizador de consultas intenta incluir una expresión constante en la lista de columnas del operador de Exchange.
Resolución
Información sobre la actualización acumulativa
Actualización acumulativa CU 7 para SQL Server 2008 R2 Service Pack 2 (SP2)
La corrección de este problema se publicó por primera vez en la actualización acumulativa 7. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2844090 paquete de actualización acumulativa 7 para SQL Server 2008 R2 Service Pack 2Nota 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 Service Pack 2. 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:
2730301 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2 Service Pack 2
SQL Server 2008 R2
La corrección de este problema se publicó por primera vez en la actualización acumulativa 14. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2703280 paquete de actualización acumulativa 14 para SQL Server 2008 R2 Nota 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. 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:
981356 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2
SQL Server 2012
La corrección para este problema se publicó por primera vez en la actualización acumulativa 2 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:
2703275 paquete de actualización acumulativa 2 para SQL Server 2012Nota 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 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.
SQL Server 2008 Service Pack 3
La corrección para este problema se publicó por primera vez en la actualización acumulativa 5 para SQL Server 2008 Service Pack 3. Para obtener más información acerca de cómo obtener este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2696626 paquete de actualización acumulativa 5 para SQL Server 2008 Service Pack 3Nota 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 SQL Server anterior. 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:
2629969 Compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 3
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Referencias
Para obtener más información acerca del modelo de servicio incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 Un modelo de servicio incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca del esquema de nomenclatura de las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499 Esquema de nomenclatura de los paquetes de actualizaciones de software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa a las actualizaciones de software de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar que se usa para describir las actualizaciones de software de Microsoft
Solución alternativa
Para evitar este problema, evite el paralelismo en la consulta utilizando uno de los métodos siguientes:
- Agregue la opción de sugerencia de consulta MAXDOP 1.
- Establezca la opción de configuración Grado máximo de paralelismo en 1.
Nota: Al utilizar cualquiera de estos métodos de solución alternativa, se experimenta una disminución del rendimiento. En su lugar, se recomienda aplicar esta revisión para resolver el problema que se describe en la sección "Síntomas".