Síntomas
Imagine la siguiente situación:
-
Intenta ejecutar una consulta usando la estimación de cardinalidad predeterminada mientras la enmienda del histograma está habilitada.
-
La consulta incluye expresiones en una columna que se usa en uno de los predicados.
En este escenario, se produce una violación de acceso. Además, aparece un mensaje de error similar al siguiente:
Msj 596, nivel 21, estado 1, línea lineNumber No se puede continuar con la ejecución porque la sesión está en el estado de eliminación. Mensaje 0, nivel 20, estado 0, línea lineNumber Se ha producido un error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Nota: La enmienda del histograma se puede habilitar mediante la opción de consulta usar sugerencia (' ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS ') o la marca de seguimiento 4139.
Resolución
Este problema se ha corregido en las siguientes actualizaciones para SQL Server:
Actualización acumulativa 8 para SQL Server 2017
Actualización acumulativa 5 para SQL Server 2016 Service Pack 2
Acerca de las compilaciones de SQL Server
Cada compilación nueva para SQL Server contiene todas las revisiones y correcciones de seguridad de la compilación anterior. Le recomendamos que instale la compilación más reciente para su versión de SQL Server:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".
Referencias
DBCC TRACEon-indicadores de traza (Transact-SQL)
Obtenga más información sobre la terminología estándar que Microsoft usa para describir las actualizaciones de software.