I have a SQL 2012 server that is throwing the following error every 5 minutes or so:
Error: 17886, Severity: 20, State: 1.
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.
I alert on all Sev 20 errors, so I can't just ignore this.
The good news is that I have some leads on how to fix it (seems like a connection string issue):
- At DBA.SE: How to troubleshoot “client driver has sent multiple requests while the session is in single-user mode”
- At SO: Error 17886 - The server will drop the connection
- In MS forums: Event ID: 17886 Source: MSSQLSERVER (MSSQL Server 2008R2)
The bad news is that I have no idea which application is causing the errors!
The server has over 50 databases, from a wide variety of commercial vendors, contractors, or in-house developers. The error contains no details about which spid or login or hostname or database caused the problem.
I've tried looking at active spids (using sp_WhoIsActive
) when the error is occurring, but there is too much activity on the server for anything to stand out (nor do I know what I'm looking for). Same thing with running SQL profiler - without knowing how to filter, I'm just seeing the firehose of data the server handles on an ongoing basis.
I am trying to narrow it down by figuring out which application teams have made recent changes, but that hasn't panned out so far.
Any ideas?
request_id
value in thesp_whoisactive
result. That will narrow it down to the connections usingMARS
.