2 votes

Les requêtes SQL sur le serveur sont vraiment lentes seulement lors de la première exécution

Problème assez étrange... lorsque je démarre mon application .NET pour la première fois après avoir redémarré ma machine, les requêtes SQL Server sont vraiment lentes... lorsque je mets en pause le débogueur, je remarque qu'il reste bloqué à obtenir la réponse de la requête. Cela se produit uniquement lors de la connexion à un serveur SQL distant (2008)... si je me connecte à un serveur sur ma machine locale, tout va bien. De plus, si je redémarre l'application, elle fonctionne rapidement, même sur le serveur SQL distant, et les exécutions ultérieures se déroulent également bien. Le seul problème survient lorsque je me connecte à un serveur SQL distant pour la première fois après avoir redémarré ma machine. De plus, j'ai même remarqué ce même comportement exact avec une application tierce (également en .NET) qui se connecte également à un serveur SQL distant.

Autre information... cela n'a commencé à se produire que depuis que j'ai mis à jour ma machine de XP à Win7 (64 bits). De plus, d'autres développeurs de mon équipe qui ont également mis à niveau vers Win7 constatent le même comportement (à la fois avec l'application que nous développons et l'application .NET tierce).

(copié depuis https://stackoverflow.com/questions/2014814/sql-server-queries-are-really-slow-only-on-first-run)

0 votes

Veuillez ne pas publier deux fois sur les sites. Si vous souhaitez déplacer une question vers un autre site, veuillez le signaler à l'attention du modérateur et indiquer le site vers lequel vous souhaitez le déplacer. Merci.

1voto

Greg Graham Points 306

Windows Vista et Windows 7 et SQL Server 2008 ont une méthode de connexion différente de XP et SQL Server 2008.

Lorsque vous vous connectez à un serveur Windows 2008 exécutant SQL 2008 à partir de Vista ou de Windows 7, Windows tente de négocier une connexion en utilisant l'interface Security Support Provider Interface [SSPI]. Vous rencontrerez parfois des problèmes comme détaillé dans http://support.microsoft.com/kb/811889.

Mon meilleur supposition est qu'il y a un retard dans la négociation de cette connexion. Comme vous pouvez le voir dans l'article KB, il existe des moyens de forcer la connexion à utiliser simplement la négociation standard NTLM.

Je recommanderais d'essayer de forcer NTLM en ajoutant SSPI=NTLM à votre chaîne de connexion. Si vous n'obtenez plus de ralentissement initial, cela pourrait indiquer votre problème.

0voto

Kyle Cronin Points 35834

Êtes-vous connecté à cette machine par IP ou par nom d'hôte?

Que se passe-t-il lorsque vous adressez exclusivement cette machine par son adresse IP uniquement? (via la chaîne de connexion ou SQL Management Studio)

0voto

Brett Veenstra Points 1447

Vérifiez vos paramètres de connexion client SQL (TCP/IP en premier?)

Ajoutez une entrée à votre machine SQL 2008 dans votre fichier hosts. Si cela vous offre des performances rapides après un redémarrage, vous avez probablement un problème de résolution de nom.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X