Службы отчетов SQL Server - Быстрое восстановление данных - Долгое время обработки - PullRequest
1 голос
/ 16 марта 2010

Приложение, которое я поддерживаю, недавно начало испытывать длительные периоды времени, необходимые для выполнения отчета в службах отчетов SQL Server. Отчеты, которые выполняются, не очень сложны. Существует несколько хранимых процедур (от 5 до 8), которые возвращают от нескольких до 8000 записей. Отчеты обычно составляют от 2 до 100 страниц. Можно утверждать (и у меня есть) преимущество отчета на 100 страниц, но клиент оплачивает счет.

В любом случае, проблема в том, что даже отчеты с 500 записями (11 страниц) возвращаются в браузер за 5 минут. В журнале выполнения TimeDataRetrieval составляет 60 секунд, но TimeProcessing составляет 235 секунд. Мне кажется странным, что мой запрос выполняется так быстро, но службам отчетов требуется так много времени для обработки данных.

Любые предложения приветствуются.

С уважением,

Bernie

1 Ответ

2 голосов
/ 19 марта 2010

Забыл опубликовать обновление к этому. Я нашел проблему. Проблема была связана с изображением из внешнего источника в отчете. Недавно на сервере отчетов был запрещен доступ в интернет. Поэтому, когда службы отчетов обрабатывали отчет, он пытался выполнить HTTP GET, чтобы получить изображение. Так как серверу был запрещен исходящий доступ в Интернет, запрос в конечном итоге прервется с ошибкой 301. К сожалению, этот период ожидания был очень длительным, и я подозреваю, что это произошло для каждой страницы отчета, поскольку чем длиннее отчет, тем дольше время обработки. Во всяком случае, мне не удалось открыть исходящий доступ в Интернет на сервере, поэтому я выбрал другой путь. Поскольку веб-сервер, на котором размещалось изображение, и сервер отчетов находились в одной локальной сети, я смог изменить файл HOST на сервере отчетов, указав домен хостов изображений и локальный IP-адрес. Например:

www.someplacewheremyimageis.com / изображения / myimage.gif

сервер отчетов будет пытаться решить эту проблему через свой локальный DNS и, без сомнения, получит внешний IP-адрес X.X.X.X

поэтому я изменил файл HOST на сервере отчетов, добавив следующую строку

192.168.X.X www.someplacewheremyimageis.com

Так что теперь, когда службы отчетов пытаются сгенерировать отчет, он разрешает указанный выше внутренний IP-адрес и включает изображение в отчет.

Отчеты теперь работают быстрее, чем когда-либо.

Это такие проблемы, которые вы обнаруживаете со вспышкой воодушевления в 4:30 утра после нескольких часов, когда бьетесь головой о клавиатуру, и это делает работу разработчика программного обеспечения замечательной и ужасной.

Надеюсь, это кому-нибудь поможет.

Спасибо

Bernie

...