Error 17886 - The server will drop the connection

nomadsolo picture nomadsolo · Jan 10, 2013 · Viewed 10.1k times · Source

We are running a website on a vps server with sql server 2008 x64 r2. We are being bombarded with 17886 errors - namely:

The server will drop the connection, because the client driver has sent multiple requests while the session is in single-user mode. This error occurs when a client sends a request to reset the connection while there are batches still running in the session, or when the client sends a request while the session is resetting a connection. Please contact the client driver vendor.

This causes sql statements to return corrupt results. I have tried pretty much all of the suggestions I have found on the net, including:

  • with mars, and without.
  • with pooling and without
  • with async=true and without

we only have one database and it is absolutely multi-user.

Everything has been installed recently so it is up to date. They may be correlated with high cpu (though not exclusively according to the monitors I have seen). Also correlated with high request rates from search engines. However, high cpu/requests shouldn't cause sql connections to reset - at worst we should have high response times or iis refusing to send response.

Any suggestions? I am only a developer not dba - do i need a dba to solve this problem?

Answer

erichste picture erichste · Jan 10, 2013

Not sure but some of your queries might cause deadlocks on the server.

At the point you detect this error again

  • Open Management Studio (on the server, install it if necessary)

  • Open a new query window

  • Run sp_who2

  • Check the blkby column which is short for Blocked By. If there is any data in that column you have a deadlock problem (Normally it should be like the screenshot I attached, completely empty).

If you have a deadlock then we can continue with next steps. But right now please check that.

enter image description here