Síntomas
La lógica de estimación de cardinalidad conocida como calculador de cardinalidad (CE) se redise? en SQL Server 2014 (niveles de compatibilidad 120) y SQL Server 2016 (niveles de compatibilidad 130) para mejorar la calidad de los planes de consultas. Sin embargo, al compilar una consulta compleja que contiene muchas combinaciones con un operador DISTINCt o GROUP BY, la compilación puede tardar mucho más tiempo de lo esperado.
Resolución
Esta actualización que soluciona este problema está incluida en el Service Pack 1 para SQL Server 2016.Nota Después de instalar esta actualización, debe establecer la marca de seguimiento 4199 para habilitar la corrección. Para establecer 4199 de la marca de seguimiento, consulte el tema Trace Flags (Transact-SQL) en MSDN.
Cada compilación nueva para SQL Server 2016 contiene todas las revisiones y todas las revisiones de seguridad incluidas en la compilación anterior. Le recomendamos que instale la compilación más reciente para SQL Server 2016.
Solución alternativa
Para resolver este problema, utilice uno de los métodos siguientes:
-
Use la marca de seguimiento 9481 para establecer el modelo de estimación de cardinalidad del optimizador de consultas para SQL Server 2012 o una versión anterior.
-
Cambie el nivel de compatibilidad de la base de datos a SQL Server 2012 (110) o a una versión anterior.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtenga más información sobre la terminología que Microsoft usa para describir las actualizaciones de software.