Quick one today:
Recently, we noticed an interesting error in our production system. Following are the steps we took to uncover the details of this error entry.
Error: 17836, Severity: 20, State: 17. Length specified in network packet payload did not match number of bytes read; the connection has been closed. Please contact the vendor of the client library. [CLIENT: a.b.c.d]
First we need to figure out where is this database connection request coming from. Use DNS look up (nslookup a.b.c.d) command to identify the machine that is sending this connection.
Similarly, use Network command netstat -anp to uncover all the connections coming into the database server; Then filter them down to this particular IP (a.b.c.d) and see what port are they originating from.
Now go to that remote machine and run similar netstat -anp command on it. Now, compare and confirm that the PID for this process.
With the above two steps, you could find out exactly what software in that remote machine is trying to connect to the database server.
Now that you have the exact PID (ProcessID) on the remote machine, go to Task Manager and check under Processes tab to see the originating software name.
See if using Sql Authentication could help in allowing that remote machine to connect successfully (if its a valid login request).
There are some other unconventional approaches to digging in further, but the above steps should be sufficient in troubleshooting.
Hope this helps,