J'exécute SQL Server (2012) sur une instance Hyper-V. Il a beaucoup de ressources et 25% réservés des ressources totales, le VHD est placé sur un disque SSD très rapide pour des temps de réponse rapides.
De temps en temps, lorsque les applications qui utilisent SQL Server n'ont pas été accédées pendant un certain temps, elles obtiennent l'erreur "L'opération d'attente a expiré". Lors du rechargement ou de la nouvelle tentative d'accès à la base de données, il semble avoir été "réveillé" et est aussi rapide que jamais.
Existe-t-il un moyen de garantir que ce mode de sommeil doux ne se produit pas dans ce type d'environnement?
Ajoutée
Détails de l'exception: System.ComponentModel.Win32Exception: l'opération d'attente a expiré
sql-server
hyper-v
Eric Herlitz
la source
la source
Réponses:
Essayez d'exécuter cette commande:
Cela a incroyablement résolu le problème.
Le code au-dessus de son l'erreur avant l'exécution de la commande.
la source
exec sp_updatestats
est une mauvaise idée?J'ai eu le même problème. La course à pied
exec sp_updatestats
fonctionnait parfois, mais pas toujours. J'ai décidé d'utiliser l'NOLOCK
instruction dans mes requêtes pour accélérer les requêtes. Ajoutez justeNOLOCK
après votre clause FROM, par exemple:Lisez l'article complet ici .
la source
J'ai eu exactement le même problème et j'ai trouvé qu'il était dû à une allocation de mémoire insuffisante sur la machine virtuelle Hyper-V. La mémoire était réglée sur dynamique, mais elle n'était pas mise à l'échelle comme requis - le passage à une quantité fixe de mémoire, dans mon cas 32 Go, a résolu le problème. L'interaction entre SqlBulkCopy et Sql Server ne semble pas capable d'obtenir plus de mémoire en cas de besoin ??
la source