Estamos utilizando SQL Server 2005 con Reporting Services.Rendimiento lento de Reporting Services, muy rápido en QueryAnalyser
Tenemos una serie de informes, cada uno con una consulta SQL relativamente simple - por "relativamente" quiero decir que tenemos algunas combinaciones, pero nada peor que eso. No llamamos a ningún procedimiento almacenado en nuestras consultas; este no es un caso de olfateo de parámetros.
Al ejecutar uno de estos informes (llamémoslo informe A) a través de Reporting Services, lleva mucho tiempo completarlo, en el orden de decenas de minutos o incluso horas. Al ejecutar la consulta SQL correspondiente en el Analizador de consultas, se completa en unos pocos segundos.
El número de filas devueltas desde la base de datos puede ser tan solo de 1; sin embargo, el informe nunca termina.
Los otros informes funcionan bien.
Al mirar en la tabla ExecutionLog en Reporting Services, puedo ver que la mayor parte del tiempo está en TimeDataRetrieval (y estamos hablando de millones de segundos aquí ...) - esas veces que el informe realmente completa. Si el informe se anula manualmente, TimeDataRetrieveal es cero y TimeProcessing es absurdamente alto en su lugar.
He revisado los registros de Reporting Services, pero todo parece normal.
Ahora, antes de comenzar a sugerir "bloqueo" - bueno, nuestras consultas tienen activada la pista nolock.
Tal como está, he llegado al límite de mi imaginación tratando de encontrar el error. Cualquier pensamiento, comprensión será apreciado gustosamente.
/Christoffer
Pruebe y use el generador de perfiles de SQL para ver cómo se recibe la misma consulta de manera diferente cuando se pasa desde el Analizador de consultas frente a los Servicios de informes y vea cuánto tiempo tarda cada uno en finalizarlo. ¿Podría ser la interpretación de los parámetros que podría estar causando problemas para Reporting Services? – shahkalpesh
Gracias por su comentario. Intenté usar SQL Profiler. Los parámetros son bastante simples: dos fechas y algunas cadenas. Las fechas serían los principales sospechosos, pero parecen interpretarse bien. Nada realmente se destaca en el generador de perfiles, los parámetros enviados a SetSessionParameters se ven bien. – Christoffer
Debo agregar que puedo ejecutar el informe directamente en Visual Studio sin problemas. – Christoffer