I'm currently doing some GUI testing on a ASP.net 2.0 application. The RDBMS is SQL Server 2005. The host is Win Server 2003 / IIS 6.0.
I do not have the source code of the application because it was programmed by an external company who's not releasing the code.
I've noticed that the application performs well when I restart IIS but after some testing, after I have opened and closed my browser for a couple of hours, the application starts to get slower and slower. I was wondering if this behaviour was due to a bad closing connection practice from the programmers : I'm suspecting an open connection leak on the database here.
I guess the .Net garbage collector will eventually close them but... that can take a while, no?
I've got SQL Server Management Studio and I do notice from the activity monitor that there are quite a few connecions opened on the database from the activity monitor.
So, from all that's being said above, here are some questions related to the main question :
Is there any way to know in SQL Server 2005 if connections are open because they're waiting to be used in a connection pool or if they're open because they are used by an application?
Does somone know of good online/paper resources where I could learn how to use performance counters or some other kind of tools to help track down these kind of issues?
If performance counters are the best solution, what are the variables that I should watch?