Skip to content

Server has a Connection Backlog

Malcolm Stewart edited this page May 18, 2023 · 5 revisions

Server has a Connection Backlog and Cannot Accept New Connection Requests

When the server binds to a port, the TCP layer sets aside a buffer to hold incoming connection requests and queue them for the server to handle. In Windows 2000 and 2003, this was controlled by the WinSockListenBacklog registry key. On newer versions of Windows there is not a setting to adjust this, but it is typically 200 in length.

Once the buffer is full, new connection requests are rejected immediately.

Frame Time Offset Source IP   Dest IP     Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
  101   0.6910500 10.10.10.36 10.10.10.37 TCP:Flags=CE....S., SrcPort=52183, DstPort=1433, PayloadLen=0, Seq=3190271550, Ack=0, Win=8192 ( Ne
  102   0.6910686 10.10.10.37 10.10.10.36 TCP: [Bad CheckSum]Flags=...A.R.., SrcPort=1433, DstPort=52183, PayloadLen=0, Seq=0, Ack=3190271551
  103   0.7307687 10.10.10.36 10.10.10.37 TCP:Flags=......S., SrcPort=52174, DstPort=1433, PayloadLen=0, Seq=3719023018, Ack=0, Win=8192 (  )
  104   0.7307873 10.10.10.37 10.10.10.36 TCP: [Bad CheckSum]Flags=...A.R.., SrcPort=1433, DstPort=52174, PayloadLen=0, Seq=0, Ack=3719023019
  105   0.8087866 10.10.10.36 10.10.10.37 TCP:Flags=......S., SrcPort=52178, DstPort=1433, PayloadLen=0, Seq=2262475387, Ack=0, Win=8192 ( Ne
  106   0.8088040 10.10.10.37 10.10.10.36 TCP: [Bad CheckSum]Flags=...A.R.., SrcPort=1433, DstPort=52178, PayloadLen=0, Seq=0, Ack=2262475388
  107   0.8719902 10.10.10.36 10.10.10.37 TCP:Flags=CE....S., SrcPort=52184, DstPort=1433, PayloadLen=0, Seq=101279470, Ack=0, Win=8192 ( Neg
  108   0.8720111 10.10.10.37 10.10.10.36 TCP: [Bad CheckSum]Flags=...A.R.., SrcPort=1433, DstPort=52184, PayloadLen=0, Seq=0, Ack=101279471,

The SYN packet is met with an ACK+RESET packet.
This can happen multiple times in a row when the server is flooded with new connection requests.

Sometimes this can be alleviated in a client application, such as a web server, by enabling connection pooling to reduce the number of new connection requests to the server. A performance evaluation of the SQL Server would also be warranted.

However, if you can find no successful connections to this address and port, it means that you may have the wrong server or that SQL Server is listening on a different port than you were expecting. This is not likely a firewall issue since the SYN packet is typically dropped silently and there is no response at all.

Clone this wiki locally