Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We just ran into and issue where our connection pool was being flooded by SqlDataReaders but when we ran our load testing on our staging environment we could not recreate the issue.

The only thing I can think of is that there are differences in how connection pooling is handled on 2008 r2 and 2003.

Once we passed in a command behavior of CommandBehavior.CloseConnection to the ExecuteReader method we were able to stop our connection pool from flooding.

Our production server was temporarily running on a 2003 server to work with some dependencies on the 1.1 framework, but we'd removed those dependencies and in doing so we essentially rewrote our DAL and after noticing this CommandBehavior difference between our new DAL and the old DAL we insert it into our new DAL and things worked fine again.

We plan to move back to the 2008 server for our production environment, it just that we some short time constraints to deal with.

In the meantime I need to explain why we didn't catch this issue in our load tests before the change went live on our production environment. Which is why I'm asking this question here as I haven't had any luck locating an answer while I've been googling.

Another item that might make a difference is that the 2003 server is a 32-bit box and the 200 r2 server is, obviously, a 64-bit box.

share|improve this question
You'll probably get a better answer over on StackOverflow as it's the .NET engine which is doing the work and not the OS. – mrdenny Sep 21 '10 at 21:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.