Chaque maintenant et puis dans une application .NET volume élevé, vous pouvez voir cette exception lorsque vous essayez d'exécuter une requête:Comment gérez-vous les erreurs de niveau de transport dans SqlConnection?
System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server.
D'après mes recherches, c'est quelque chose qui « arrive juste » et pas grand-chose peut être fait pour l'empêcher. Cela ne se produit pas à cause d'une mauvaise requête et ne peut généralement pas être dupliqué. Il se produit peut-être une fois tous les quelques jours dans un système OLTP occupé lorsque la connexion TCP à la base de données devient mauvaise pour une raison quelconque.
Je suis obligé de détecter cette erreur en analysant le message d'exception, puis en réessayant toute l'opération, en incluant l'utilisation d'une nouvelle connexion. Rien de tout cela est joli.
Quelqu'un at-il d'autres solutions?
Augmenter la RAM –
Avez-vous des statistiques sur la charge de votre serveur de base de données lorsque ces erreurs sont levées? Vous pouvez rencontrer des problèmes de base de données qui provoquent l'échec des connexions. –
Cela * ne devrait pas arriver, même avec un volume transactionnel élevé. Nous exécutons en moyenne 25 000 transactions par seconde sur SQL Server 2005 Standard, et nous n'obtenons pas cette erreur. (À moins que le cluster ne tombe en panne, tous les 12 mois et plus, pas tous les quelques jours.) Sans plus d'informations, il semble qu'il y ait un problème de réseau entre votre serveur de base de données et vos serveurs d'applications. Pouvez-vous poster plus d'informations? – Portman