我们有一个运行 SQL 2000 的数据库服务器和两个托管 ASP.net 应用程序的 Web 服务器。所有三台服务器都运行 Windows Server 2003 SP2。
我们的问题在大约 2 周后可重复,一台 Web 服务器上的 IIS 不再能够建立 SQL 连接。静态内容加载正常。其他非 IIS 应用程序仍然能够联系 SQL 数据库服务器。ODBC 功能也仍然有效。
在运行 SQL 探查器时,如果处于此状态,则永远不会从 IIS 建立连接。
解决这种情况的唯一方法是重新启动 Web 服务器。
任何机器上都没有安装防火墙。
如果您加载 perfmon,并查看 .NET CLR 数据 - 您可以加载几个性能计数器以查看池数、池连接数、失败连接、失败命令。
考虑到默认情况下,连接池默认为每个进程(每个应用程序域)池中有 100 个连接。您是否有可能正在查看池耗尽?