Я использую SQL Server (2012) на экземпляре Hyper-V. Он имеет много ресурсов и зарезервирован на 25% от общего объема ресурсов. VHD размещен на очень быстром SSD-диске для быстрого отклика.
Время от времени, когда приложения, использующие SQL Server, не были доступны в течение некоторого времени, они получают сообщение об ошибке «Время ожидания истекло». При перезагрузке или повторной попытке доступа к базе данных она, похоже, «проснулась» и работает так же быстро, как и раньше.
Есть ли способ гарантировать, что этот режим мягкого сна не происходит в такой среде?
добавленной
Сведения об исключении: System.ComponentModel.Win32Exception: истекло время ожидания операции ожидания
sql-server
hyper-v
Эрик Херлиц
источник
источник
Ответы:
Попробуйте выполнить эту команду:
Это, невероятно, решило проблему.
Код над ошибкой перед выполнением команды.
источник
exec sp_updatestats
- плохая идея?Я была такая же проблема. Бег
exec sp_updatestats
работал иногда, но не всегда. Я решил использовать этоNOLOCK
утверждение в своих запросах, чтобы ускорить запросы. Просто добавьтеNOLOCK
после вашего предложения FROM, например:Прочитайте полную статью здесь .
источник
У меня была точно такая же проблема, и я обнаружил, что она была вызвана нехваткой памяти на виртуальной машине Hyper-V. У меня была установлена динамическая память, но она не увеличивалась должным образом - переход к фиксированному объему памяти, в моем случае 32 ГБ, решил проблему. Взаимодействие между SqlBulkCopy и Sql Server, по-видимому, не в состоянии получить больше памяти при необходимости.
источник