Hi
I've started receiving sporadic SqlExceptions throughout my .NET applications (crossing ASP.NET, Windows Services, Winforms - doesn't seem application code specific):
System.Data.Sql Client.SqlExcep tion: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.
The SQL Server (Dell PE1950, 8GB ram, Quad Xeon 2.5G+) is relatively busy, while far from stressed out. Here are some relevant counters:
Avg. Diske Queue length: 0.012
Full Scans/sec: 200
Page splits/sec: 1.5
Buffer cache hit ratio: 99.850
Page life expectancy: 50,000+
Transactions/sec: 700
User connections: 235
Batch request/sec: 320
SQL Compilations/sec: 175
6,5GB dedicated memory.
All these numbers seem perfectly fine by me. My theory is that I'm running into some kind of TCP limitation, possibly the backlog size limit or the SynAttackProtec t issue:
http://blogs.msdn.com/sql_protocols/...ckprotect.aspx
While the server is powerful, no specific registry modifications have been made. I have not been able to find any documents on how to diagnose if it's either the tcp backlog or the SynAttack issue. As it's an important production server, I'm not too fond of just restarting it now and then to play around with the settings.
Anyone got some ideas?