Tengo un par de consultas llamadas desde una aplicación web C # .NET que siempre son rápidas para mí (soy un administrador local en SQL Server) pero para un grupo de usuarios (grupo de dominio con los permisos requeridos), la consulta es increíblemente lenta el punto se agota en la aplicación
¿Qué causaría que la misma consulta se ejecute de manera diferente para diferentes usuarios?
Más información:
- La consulta es SQL en línea en el código C #, no un procedimiento almacenado
- La aplicación usa autenticación de dominio y tanto el usuario como yo ejecutamos la consulta a través de la aplicación
- Parece que el problema es planes diferentes y uno fue almacenado en caché, por eso fue diferente para diferentes usuarios. Algo está afectando el caché porque ahora la consulta es lenta para mí a través de la aplicación y rápida en SQL Server Management Studio.
exact same query
), no debería ser la detección de parámetros (los usuarios obtienen un mal plan para los parámetros incorrectos), sino que los usuarios obtienen diferentes planes para el mismo parámetro (s) Podría deberse a configuraciones como quoted_identifier
y arithabort
, que puede comparar sys.dm_exec_sessions
para el usuario rápido y el usuario lento, o podría deberse a que tienen diferentes esquemas predeterminados y se hace referencia a objetos sin el prefijo de esquema. El rastreo de parámetros aún puede estar involucrado (de ahí que uno de ellos tenga un mal plan)