Ну, работая в службе поддержки MS, у меня был похожий запрос один раз. Не говорю, что вы делаете то же самое, но мы просим подобные истории, и это может пролить некоторый свет.
Мне позвонили из внешнего центра поддержки, работающего в Индии, который поддерживал ASP (и он оказал достаточное давление, чтобы его повысили до служб поддержки SQL Server уровня 3 - «последней линии защиты»). На веб-сайте SQL Server перестает отвечать на запросы определенного SQL-запроса. Сервер просто прекратил бы делать что-либо, фактически даже IIS больше не мог использоваться должным образом. Я получил полный случай, документированный от одного энтузиаста, которому даже удалось доказать, что с SQL Server что-то не так, потому что трассировки стека (уровень C ++) показали, что драйвер OleDB зависал при вызове SQL Server. Впервые в моей жизни кто-то показал мне, что уровень трассировки стека для проверки SQL Server упал.
Так или иначе, некоторые исследования оказались - программист, который первоначально написал сайт и все еще был уволен клиентом, пытающимся исправить беспорядок, должен был не использовать ASP, а вместо этого обслуживать бургеры. У клиента была одна конкретная страница, на которой было много вызовов SQL Compelx, а в базе данных вообще не было индекса. По сути, это связано с «привязкой к десяткам сканирований таблицы» на очень дешевой дисковой системе. После добавления даже НЕКОТОРЫХ индексов система стала пригодной для использования - и заказчик приступил к проверке всей сложной базы данных. Сотруднику службы поддержки было немного стыдно за то, что он не проверил, что на самом деле делает SQL Server (что привело бы к неловкому выполнению и немедленному остановлению ввода-вывода).
И вот история возвращается к вам;)
Вы говорите с неправильным запросом, IIS останавливается на минуты.
Можете ли вы подтвердить, что:
* Это происходит на IIS? Делаете пример и проверяете IIS и Enterprise Manager? Если он и висит в Enterprise Manager - это не IIS.
* Висит IIS как в приложении. Остальные IIS / другие приложения / статические страницы все еще работают?
* Код происходит на странице, а не в центральном элементе / обработчике события / синхронизированном соединении, так что одно зависание доступа приводит к зависанию всего приложения?
* Что делает загрузка процессора IIS и загрузка SQL Server во время этого события?
* SQL Server не находится на одном компьютере? (поэтому он перегружает компьютер и, следовательно, также попадает в IIS)?
Я не могу себе представить такое поведение без каких-либо проблем со стороны IIS.
Basicalle, дай нам немного больше контекста, и мы должны его найти;) А пока наслаждайся моей историей.