Síntomas
Tenga en cuenta el siguiente escenario:
- Tiene una consulta que usa un predicado de no igualdad en una columna GUID única en SQL Server 2014 o 2016.
- Las estadísticas se actualizan mediante el muestreo predeterminado. O bien, se insertan nuevas filas en la tabla después de la última actualización de estadísticas.
- SQL Server utiliza el nuevo estimador de cardinalidad en el que el modo de compatibilidad de base de datos se establece en 120.
- Los valores GUID no se distribuyen uniformemente en la tabla.
En este escenario, al ejecutar la consulta, puede experimentar un rendimiento bajo debido a un número de filas estimado incorrectamente para el predicado en el plan de consulta.
Resolución
Este problema se corrigió por primera vez en la siguiente actualización acumulativa para SQL Server:
Actualización acumulativa CU 6 para SQL Server 2014 Service Pack 1
Actualización acumulativa 1 para SQL Server 2016
Después de instalar este paquete de actualizaciones acumulativas, debe habilitar la marca de seguimiento 4199. Para ello, puede agregar el parámetro de inicio -T4199. O bien, puede usar la instrucción dbcc traceon(4199) para una sesión específica.
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:
Actualización acumulativa más reciente para SQL Server 2014
Actualización acumulativa más reciente para SQL Server 2016
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
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.