views:

40

answers:

0

The setup is as follows:

A C++ client connects via OLEDB/SQL Native Client to a SQL Server 2005 database located on another machine. The server is setup with mirroring (automatic failover) with a synchronized server located on yet another server and a witness server on another server.

Occassionally (once every couple of days), our application seizes up in that it appears to attempt to establish a database connection to the database and rather than simply failing and OLEDB throwing a database connection failure it just gets "stuck" (we have a timeout for the connection but it's never timing out). 24 to 36 hours later we'll get an error:

TCP Provider: An existing connection was forcibly closed by the remote host.

And things will continue you on with lots of these errors and our app will eventually need to be restarted. We can't really figure out what condition could be causing this behavior and what we can do about it?

In preliminary research, I've seen some related problems that were solved by setting the Connection Lifetime connection string property to something non-zero.

Does anyone have any thoughts on what might be going on here? Thanks and please let me know what other information you might need.

Thanks!