Tengo una consulta de un sitio web que tarda de 15 a 30 segundos, mientras que la misma consulta se ejecuta en .5 segundos desde el estudio de SQL Server Management. No puedo ver ningún problema de bloqueo con el Analizador de SQL, ni puedo reproducir el retraso manualmente desde SSMS. Hace una semana, me separé y volví a conectar la base de datos que parecía solucionar milagrosamente el problema. Hoy, cuando el problema volvió a aparecer feo, intenté simplemente reconstruir los índices. Esto también solucionó el problema. Sin embargo, no creo que sea necesariamente un problema de índice, ya que, a mi entender, los índices no se reconstruirán automáticamente en un simple detach/attach.La consulta del SQL Server se ejecuta más despacio desde ADO.NET que en SSMS
¿Alguna idea de lo que podría estar causando el retraso? Lo primero que pensé fue que tal vez algún parámetro que olfatea el procedimiento almacenado que se llama (dijo que el proceso almacenado ejecuta un CTE, si es que eso importa) estaba causando un mal plan de consulta, lo que explicaría la naturaleza intermitente del problema. Dado que tanto la separación/reinserción como la reconstrucción de un índice deberían invalidar teóricamente el plan de consulta en caché, esto tiene sentido, pero no estoy seguro de cómo verificar esto. Además, ¿por qué la misma consulta (copiada directamente del Analizador de SQL con los mismos parámetros exactos) no presenta el mismo retraso cuando se ejecuta manualmente a través de SSMS?
¿Alguna idea?
¿Transmite el SSMS algunas pistas o una cadena de conexión diferente a la forma en que lo hace ADO.net? – shahkalpesh
Sí, me estoy conectando con diferentes credenciales. Lamentablemente, por ahora, el problema se ha ido, por lo que no puedo probar con configuraciones de conexión idénticas hasta que el problema vuelva a aparecer. – Chris
@Chris: ¿Podría publicar su propia respuesta con sus conclusiones con lo que funcionó en su caso? – shahkalpesh