J'exécute SQL Server 2008 R2 SP1, sur une boîte Windows Server 2008. J'ai un script .NET exécuté à partir de Visual Studio 2010 qui fait ce qui suit:
- Atteint la base de données
- Fait un changement
- Itère
Le nombre total de fois qu'il itérera est de 150, mais il s'arrête à 100 connexions et je ne peux pas comprendre pourquoi. Je pourrais ajuster mon script pour n'utiliser qu'un seul thread, mais je préférerais savoir où il me manque un paramètre de connexion max car cela sera plus utile de le savoir pour référence future.
Voici où j'ai vérifié jusqu'à présent:
- Chaîne de connexion SQL dans Visual Studio 2010 (elle est définie sur 1000)
- Propriétés de connexion de l'instance de base de données SSMS (elle est définie sur 0 [infini] connexions utilisateur)
- Googlé quelques informations sur Server 2008, il semble qu'il puisse gérer plus de 100 connexions
- J'ai parcouru mon code à côté de
SP_WHO2
ce qui donne plus d'informations sur les connexions logiques, car le nombre de connexions commence à 52 et les erreurs de script avec l'erreur "Max Pooled Connections atteint" à 152 connexions logiques. - Modification de la chaîne de connexion à utiliser
Data Source=PerfSQL02;Initial Catalog=Masked;Integrated Security=True;Max Pool Size=1000
Je ne sais pas où vérifier, je sais que j'ai beaucoup de pièces mobiles ici, mais j'ai l'impression qu'il me manque un paramètre de piscine max quelque part.
System.Data.SqlClient
défaut est 100, c'est pourquoi vous voyez l'épuisement du pool de connexions).