Что может привести к приостановке выполнения запроса в Management Studio?
- Я выполняю простой выбор топ 60000 из таблицы (в которой 11 миллионов строк), и результаты возвращаются в течение секунды или двух.
- Я меняю запрос на топ 70000, и результаты занимают до 40 минут.
После небольшого поиска другой, но связанной проблемы я наткнулся на кого-то, кто использовал DBCC FREEPROCCACHE, чтобы исправить это.
- Я запускаю DBCC FREEPROCCACHE, а затем повторяю запрос для 70000, и, похоже, он работает.
Однако проблема по-прежнему возникает с другим запросом.
- Я увеличиваю до 90000 или, если я пытаюсь открыть таблицу, используя [Right-> Open Table], она вытягивает около 8000 записей и останавливается.
Проверка журнала активности на наличие открытых таблиц показывает, что сеанс был приостановлен с типом ожидания «Async_Network_IO». Для сеанса, в котором выполняется выбор 90000, статус «Спящий», это тот же статус, что и для указанного выше запроса 70000, который вернулся, но через 45 минут. Мне странно, что статус показывает «Спящий» и не меняется на «Запускаемый» (у меня монитор activiy обновляется каждые 30 секунд).
Дополнительные примечания:
- Я не запускаю одновременно Open Table и не выбираю 90000 одновременно. Все запросы выполняются по одному.
- Я использую 32-разрядную версию SQL Server 2005 с пакетом обновления 2 (SP2) CU9. Я попытался обновить SP3, но столкнулся с ошибками установки. Проблемы возникали до того, как я попробовал это обновление.
- Настройка сервера - это активный / активный кластер, проблема возникает на любом узле, а на другом экземпляре такой проблемы нет.
- У меня есть ~ 20 других баз данных на этом же экземпляре сервера, но только эта одна БД видит проблему.
- Эта база данных становится довольно большой. Это в настоящее время в 76756.19MB. Файл данных имеет размер 11 513 МБ.
- Я вошел в систему локально на сервере с помощью удаленного рабочего стола.