We have a database server running SQL 2000 and two web servers hosting ASP.net applications. All three servers are running Windows Server 2003 SP2.
Our issue is repeatable after about 2 weeks, IIS on one web server is no longer able to establish SQL connections. Static content loads fine. Other non-IIS applications are still able to contact the SQL database server. ODBC functionality also still works.
While running SQL profiler a connection is never established from IIS when it is in this state.
The only way to fix this situation is to restart the web server.
There are no firewalls installed on any machines.
If you load perfmon, and look at .NET CLR data - there are several performance counters that you can load to see the # of pools, # of pooled connections, failed connections, failed commands.
Consider that the connection pool defaults to 100 connections in the pool per process (per appdomain) by default. Is it possible that you're looking at pool exhaustion?