Вот некоторые вещи, которые я бы сделал, если бы мне представили эту проблему:
1- Остановите эти тайм-ауты! Они - пустая трата ресурсов. (поднять значение времени ожидания страниц asp)
2- Централизовать весь доступ к БД в одной точке, затем собрать статистику о том, какие отчеты выполнялись, когда и кем, сколько времени это заняло. Выясните, почему это так долго, из-за сложности отчета? диапазон данных? загрузка сервера? (на самом деле вы можете написать это в файле .csv на сервере и периодически импортировать этот файл на сервер sql для последующего анализа).
В конце концов, вам будет проще "кэшировать" отчеты, если вы пройдете через эту единственную точку доступа (например, тот же запрос с той же датой вернет тот же ранее сгенерированный PDF)
3- Я знаю, что это действительно не был вопрос, но вы пытались погрузиться в эти запросы, чтобы понять, почему они так долго работают? Возможно, запрос настройки?
4 - электронная почта / SMS / сообщение на экране, когда отчет готов, кажется отличным ... если ваш пользователь обычно отправляет пакет отчета, который необходимо сгенерировать, возможно, в приложении может быть встроена небольшая панель инструментов, показывающая ход "их" очереди , Небольшое управление ajax будет периодически обновлять статус.
Подсказка: если вы использовали этот централизованный доступ к БД, и у вас есть достаточно информации о том, что выполняется, когда, почему и как долго вы в конечном итоге сможете приблизительно оценить время, необходимое для запуска отчета.
Если время отклика является критически важным, должны ли определенные пользователи ограничиваться диапазоном данных (например, диапазоном дат) в течение нескольких часов дня?
Удачи и, пожалуйста, опубликуйте более подробную информацию о вашем сценарии, если вы хотите получить более точные подсказки ...