У меня есть запрос, который занимает около 2 минут. Он не очень сложный с точки зрения параметров или чего-либо еще, и сам отчет не выполняет какой-либо действительно обширной обработки. В основном просто выплевывает данные прямо в хорошем формате. (На самом деле один из отчетов вообще не форматирует данные, а просто возвращает плоскую таблицу, предназначенную для работы в Excel.)
Он также не возвращает массивный набор данных.
Тем не менее, запуск отчета занимает более 30 минут.
Что могло вызвать это?
Это SSRS 2005 против базы данных SQL 2005.
РЕДАКТИРОВАТЬ: ОК, я обнаружил, что с добавлением WITH (NOLOCK) в отчет это занимает то же время, что и запрос через SSMS. Почему запрос обрабатывается иначе, если он поступает из служб отчетов (или visual studio на моем локальном компьютере), а не с SSMS на моем локальном компьютере? Я видел, как запрос выполнялся в Activity Monitor пару раз в режиме SLEEP_WAIT, но ничем не блокировался ...
EDIT2: Строка подключения:
Источник данных = SERVERNAME; Начальный каталог = DBName