Síntomas
Suponga que ejecuta una consulta que implica una combinación o agregación en una columna que está cubierta por una columna única y una columna múltiple Estadísticas (en las que esta columna no es la columna inicial). Si está usando Estimador de cardinalidad predeterminado (CE) en SQL Server 2016, puede infravalorar el número de filas distintas. Esto conduce a un plan de ejecución de consultas sub-óptimo (por ejemplo, un bajo nivel de estimación puede producir una concesión de memoria insuficiente para un operador hash, lo que hace que la consulta se derrame a tempdb).
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Resolución
Este problema se ha corregido en la siguiente actualización acumulativa de SQL Server:
Nota Para que esta corrección surta efecto, tiene que habilitar las revisiones del optimizador de consultas con la marca de seguimiento (TF) 4199 o la opción correspondiente de configuración de ámbito de base de datos o de sugerencia de consulta.
Acerca de las actualizaciones acumulativas de SQL Server:
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Este problema se puede solucionar agregando la siguiente sugerencia de consulta:
USAR HINT (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
Referencias
Obtenga más información sobre la terminología que Microsoft usa para describir las actualizaciones de software.