Ich führe SQL Server (2012) auf einer Hyper-V-Instanz aus. Es hat viele Ressourcen und 25% der gesamten Ressourcen reserviert. Die VHD befindet sich auf einem sehr schnellen SSD-Laufwerk für schnelle Reaktionszeiten.
Hin und wieder, wenn auf die Anwendungen, die den SQL Server verwenden, eine Weile lang kein Zugriff erfolgt ist, wird der Fehler "Timeout der Warteoperation" angezeigt. Beim Neuladen oder erneuten Versuch, auf die Datenbank zuzugreifen, scheint sie "aufgeweckt" worden zu sein und ist so schnell wie nie zuvor.
Gibt es eine Möglichkeit, um sicherzustellen, dass dieser Soft-Sleep-Modus in einer solchen Umgebung nicht auftritt?
Hinzugefügt
Ausnahmedetails: System.ComponentModel.Win32Exception: Die Wartezeit ist abgelaufen
sql-server
hyper-v
Eric Herlitz
quelle
quelle
Antworten:
Versuchen Sie diesen Befehl auszuführen:
Es hat das Problem unglaublich gelöst.
Der Code über dem Fehler, bevor der Befehl ausgeführt wurde.
quelle
exec sp_updatestats
eine schlechte Idee ist.Ich hatte das gleiche Problem. Laufen
exec sp_updatestats
hat manchmal funktioniert, aber nicht immer. Ich habe beschlossen, dieNOLOCK
Anweisung in meinen Abfragen zu verwenden, um die Abfragen zu beschleunigen. FügenNOLOCK
Sie einfach nach Ihrer FROM-Klausel Folgendes hinzu:Lesen Sie den vollständigen Artikel hier .
quelle
Ich hatte genau das gleiche Problem und stellte fest, dass es durch nicht genügend Arbeitsspeicher auf der Hyper-V-VM verursacht wurde. Ich hatte den Speicher auf dynamisch eingestellt, aber er wurde nicht nach Bedarf vergrößert - ein Wechsel zu einer festen Speichergröße, in meinem Fall 32 GB, löste das Problem. Die Interaktion zwischen SqlBulkCopy und Sql Server scheint nicht in der Lage zu sein, bei Bedarf mehr Speicher zu erhalten?
quelle