Быстрый запрос отстает в SSRS

У меня есть отчет о SSRS, который обращается к хранимой процедуре. Если я выполню хранимую процедуру непосредственно от окна запроса, то она возвратится через менее чем 2 секунды. Однако тот же запрос, выполненный из 2005 отчетов о SSRS, занимает до 5 минут для завершения. Это только происходит на первом показе, это происходит каждый раз. Кроме того, я не вижу эту ту же проблему в других средах.

Какие-либо идеи о том, почему выполненный отчет о SSRS так замедлился бы в этой конкретной среде?

76
задан dgcharitha 15 March 2018 в 05:36
поделиться

2 ответа

Спасибо за предложения, представленные здесь. Мы нашли решение, и оказалось, что оно связано с параметрами. SQL Server создавал запутанный план выполнения при выполнении из отчета SSRS из-за «прослушивания параметров». Обходной путь состоял в том, чтобы объявить переменные внутри хранимой процедуры и присвоить переменным входящие параметры. Затем в запросе использовались переменные, а не параметры. Это привело к тому, что запрос будет выполняться согласованно, независимо от того, вызывается ли он из SQL Server Manager или через отчет SSRS.

104
ответ дан 24 November 2019 в 11:12
поделиться

Пара вещей, которые вы можете сделать, не выполняя фактический отчет, просто запустите sproc из вкладки данных в службах отчетности. Это все еще занимает время? Другой вариант - использовать SQL Profiler и определить, что входит и выходит из системы базы данных.

Еще одна вещь, которую вы можете сделать для проверки, - воссоздать простой отчет без каких-либо параметров. Запустите отчет и посмотрите, есть ли разница. Возможно, ваш RS-отчет поврежден или плохо сформирован, что может вызвать очень медленный рендеринг.

1
ответ дан 24 November 2019 в 11:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: