Korzystam z programu SQL Server (2012) w instancji funkcji Hyper-V. Ma mnóstwo zasobów i 25% rezerwy w stosunku do wszystkich zasobów, dysk VHD jest umieszczony na bardzo szybkim dysku SSD dla szybkiego czasu reakcji.
Co jakiś czas, gdy aplikacje korzystające z SQL Server nie były dostępne przez jakiś czas, pojawia się błąd „Upłynął limit czasu operacji oczekiwania”. Podczas ponownego ładowania lub ponownej próby uzyskania dostępu do bazy danych wydaje się, że została „przebudzona” i działa tak szybko, jak zawsze.
Czy istnieje sposób, aby zapewnić, że ten miękki tryb uśpienia nie wystąpi w tego rodzaju środowisku?
Dodany
Szczegóły wyjątku: System.ComponentModel.Win32Exception: Upłynął limit czasu operacji oczekiwania
sql-server
hyper-v
Eric Herlitz
źródło
źródło
Odpowiedzi:
Spróbuj wykonać to polecenie:
To niewiarygodnie rozwiązało problem.
Kod powyżej błędu przed wykonaniem polecenia.
źródło
exec sp_updatestats
jest złym pomysłem?Miałem ten sam problem. Bieganie
exec sp_updatestats
czasem działało, ale nie zawsze. Postanowiłem użyćNOLOCK
instrukcji w moich zapytaniach, aby przyspieszyć zapytania. Po prostu dodajNOLOCK
po klauzuli FROM, np .:Przeczytaj cały artykuł tutaj .
źródło
Miałem dokładnie ten sam problem i stwierdziłem, że był on spowodowany niewystarczającą alokacją pamięci w maszynie wirtualnej Hyper-V. Pamięć była ustawiona na dynamiczną, ale nie wymagała ona skalowania w miarę potrzeby - przejście na stałą ilość pamięci, w moim przypadku 32 GB, rozwiązało problem. Interakcja między SqlBulkCopy i Sql Server nie wydaje się być w stanie uzyskać więcej pamięci, gdy jest to wymagane?
źródło