Síntomas
Supongamos que ejecuta una consulta que implica una combinación o agregación en una columna que está cubierta por estadísticas de una y varias columnas (en las que esta columna no es la columna principal). Si utiliza el estimador de cardinalidad (CE) predeterminado en SQL Server 2016, puede subestimar el número de filas distintas. Esto conduce a un plan de ejecución de consultas poco óptimo (por ejemplo, una estimación baja puede provocar una concesión de memoria insuficiente para un operador hash, lo que hace que la consulta se desborde a tempdb).
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Resolución
Este problema se corrige en la siguiente actualización acumulativa para SQL Server:
Nota Para que esta corrección surta efecto, debe habilitar las revisiones del optimizador de consultas mediante la marca de seguimiento (TF) 4199 o la opción correspondiente de configuración con ámbito de base de datos o sugerencia de consulta.
Acerca de las actualizaciones acumulativas para SQL Server:
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
Solución alternativa
Este problema se puede solucionar agregando la siguiente sugerencia de consulta:
USE HINT('FORCE_LEGACY_CARDINALITY_ESTIMATION')
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.