When you try to connect to a database by using the SqlConnection object in Microsoft ADO.NET 2.0, a connection failure may be reported even though the database server is actually available. This problem is most noticeable when the following conditions are true:
The database server has been unavailable for at least a minute.
The client application has tried to connect to the database server during that time.
This problem occurs because of behavior that occurs when previous connection attempts to the server that is running Microsoft SQL Server fail. The SqlClient connection pool may internally throttle the number of new connection attempts to the server. This process is intended to occur for a short time. During this time, the connection pool automatically reports the last error that occurred instead of making a connection attempt to the server. After the time period has expired, the next connection request from the client application achieves a true connection to the server that is running SQL Server.
Note Sometimes, the time period can grow very large. This problem will depend on how long the database server is unavailable.
To resolve this issue, download the appropriate file for your computer:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.
To work around this problem, use the ClearPool or ClearAllPools methods of the SqlConnection object to reset the connection pool.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
After you apply this hotfix, a small delay may still occur before the client application can successfully connect to the database server when the database server recovers from an outage. Typically, this delay should not last more than 60 seconds, regardless of how long the SQL Server has previously been unavailable.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
For more information about the SqlConnection class, visit the following Microsoft Developer Network (MSDN) Web site:
This hotfix is included in the same hotfix package as the hotfix in the following Microsoft Knowledge Base article:
912151 FIX: The connection may time out before the first try to connect to the failover partner server when you try to connect to a SQL Server 2005 mirrored database by using an ADO.NET 2.0-based application
912731 FIX: When an ADO.NET-connected application uses the System.Data.SqlClient namespace, the application may experience high CPU use and may stop responding
912732 FIX: An error may occur when you start a new transaction in ADO.NET 2.0 on a connection that is open to a SQL Server 2005 database
913177 FIX: You may receive an error message when an ADO.NET-connected application uses the SqlBulkCopy class
913764 FIX: Error message when you try to run a UNION ALL query or to call the DeriveParameters method: "Internal connection fatal error"
913765 FIX: An SqlException exception may occur when you call one of the Execute methods on the instance of the SqlCommand class in an ADO.NET 2.0 application
913766 FIX: A DateTime column that does not contain any data is incorrectly represented by a DateTime.MinValue field when a .NET Framework 2.0 DataSet object is deserialized on a client computer