Solución:
como he visto en esta respuesta cuando agrego option(recompile)
para mi consulta funciona bien aceptando la sugerencia de índice:
SELECT MAX(AC1.changeDate)
-- AC1.changeDate
FROM [dbo].[applicationStateChange] AS ac1 WITH(INDEX(FI_ASC_ChangeDate))
WHERE AC1.newStatus="PLC"
OPTION (RECOMPILE)
Aún cuando ejecuto la misma consulta without
los option(recompile)
Me sale el mismo error
Msg 8622, nivel 16, estado 1, línea 479 El procesador de consultas no pudo generar un plan de consulta debido a las sugerencias definidas en esta consulta. Vuelva a enviar la consulta sin especificar ninguna pista y sin utilizar SET FORCEPLAN.
Sin embargo, en mi entorno de prueba, podía permitirme ejecutar la siguiente operación y, después de eso, no más problemas con este índice filtrado:
ALTER DATABASE [JUNOCORE] SET PARAMETERIZATION SIMPLE;
para corroborar mi decisión de hacer esto en la prueba leí los siguientes artículos:
Parametrización simple y forzada de SQL Server
Resultado de Blitz: parametrización forzada
Ahora tengo ganas de cambiar mi [JUNOCORE] database
en LIVE también para parametrización simple
Esto me lleva a la siguiente pregunta:
¿Qué elementos de la caché de la carga de trabajo o del plan de consultas debería tener en cuenta para decidir la parametrización simple o forzada en mis bases de datos?