SQL communication errors 17832, 17824, 1608, 232, and 109

Summary

A variety of Microsoft SQL Server communication-related errors are possible. In general, these do not indicate a problem with SQL Server, but rather a network, network configuration, or client application problem.

Potential errors include:

Server-Side Errors

17832 Unable to read login packet(s)

17825 Unable to close server-side connection

17824 Unable to write to server-side connection

10058 Can't send after socket shutdown

10054 Connection reset by peer

10053 Software caused connection abort

1608 A network error was encountered while sending results to the front end

232 The pipe is being closed

109 The pipe has been ended

Client-Side Errors

10008 Bad token from SQL Server: datastream processing out of sync

10010 Read from SQL Server failed

10018 Error closing network connection

10025 Write to SQL Server failed

More Information

On both the client and server sides, SQL Server and its applications mostly exist above the ISO (International Organization for Standardization) network layer. The responsibility for establishing and maintaining a reliable network connection belongs to the network and system layers below SQL Server.

SQL Server's use of this medium is somewhat analogous to two parties who purchase and use telephones. The telephones on each end of a connection rely on the telephone network to establish and maintain a reliable connection. Problems such as static, poor quality, lost connections and so forth can only rarely be traced to the user's telephone equipment. Most of the time, any connection problem must be resolved in the telephone network connecting the two users.

Similarly, most of the errors listed in this article are only manifestations at the SQL layer of an underlying connection loss. They do not by themselves indicate a problem with SQL Server. The connection loss is commonly caused by the client workstation rebooting, in which case the server would report a loss of connection to the client. Client application errors or system errors, such as running out of memory, can cause the client program to hang or abnormally terminate, which will also cause the server to report a connection loss. The client system can be debugged to check for this. These errors can also be caused by various hardware and software problems in the network connecting the client and the server. Successful problem resolution in these cases depends on acknowledging the network, application, or system nature of the problem and focusing efforts on that area.

Successful techniques include determining what users were doing on the client computers at the time of the problem, running the client application in a debugger, and using a network analyzer, such as the Network General Sniffer or Novell Lanalyzer, to monitor the traffic between client and server during the error.

Additional details on these errors are provided below.

Server-Side Errors

17832 Unable to read login packet(s). [NT only]

This can happen if a client starts to connect, but never successfully completes the attempt because of a client operating system or application failure. It could also be caused by the network failing between the time a connection attempt is initiated, and when it completes.

17825 Unable to close server-side connection. [NT only]

This can happen if SQL Server gets an error when attempting to close the network connection to the client. Normally, this should never happen. It is sometimes seen as a side effect of other more serious errors, which you should focus on first if they are present.

17824 Unable to write to server-side connection. [NT only]

This can happen if SQL Server attempts to write to a client connection, and the write fails. This could be caused by the client computer being hung or shut down, or due to network problems. It is frequently seen if client computers are rebooted.

10058 Can't send after socket shutdown. [NT only]

This can happen if a sockets client (which includes SPX) is actively sending or receiving data to or from SQL Server, and the client application hangs or traps, or is abruptly shut down. This error is usually seen in conjunction with error 17824 when on sockets-based connections. Similar to error 17824, error 10058 is usually caused by the client computer hanging, trapping, or being abruptly shut down. For example, an Microsoft Windows NT client using the NWLink SPX transport could be inserting data into SQL Server, and if the client application is killed, you will see error 10058.

10054 Connection reset by peer. [NT only]

This can happen if a sockets client (which includes SPX) is actively sending or receiving data to or from SQL Server, and the network connection is lost. This error is usually seen in conjunction with error 17824 when on sockets-based connections. For example, an Microsoft Windows NT client using the NWLink SPX transport could be selecting data from SQL Server, and if the network cable is unplugged from the SQL Server computer, you will see error 10054.

10053 Software caused connection abort. [NT only]

This can happen if a sockets client (which includes SPX) aborts the connection. This error is usually seen in conjunction with error 17824 when on sockets-based connections. Like error 17824, it is usually caused by the client computer hanging or being abruptly shut down, or problems with the client application or network.

1608 A network error was encountered while sending results to the front end. [OS/2 and NT]

Similar in cause to 17824, 10058, 10054, and 10053 . As the error syntax indicates, it is often network related.

232 The pipe is being closed. [OS/2 and NT]

This can occur if a named pipes connection is lost during a read. Error 232 is a standard system error code which is documented in a number of popular reference works, including the WINERROR.H file included in Microsoft Visual C++. SQL Server was attempting a named pipe operation and the call returned a 232 failure code. It is often seen with errors 17824 and 1608, and has similar causes.

109 The pipe has been ended. [OS/2 and NT]

This can happen if a named pipes connection is lost during a write. The cause is similar to that for error 232.

Client-Side Errors

These DB-Library (DB-Lib) errors often correspond to the above server-side errors. They frequently indicate a network connection loss from the perspective of the client. This can happen if the network itself fails, the network connection or SQL process is terminated by an administrator, or the server-side SQL process aborts. You can easily check for it being a SQL problem by inspecting the SQL Server error log for an access violation or similar error. If this is not discovered to be the case, then you should pursue the problem as a network, network configuration, system or application problem.

If you see a server-side communications error corresponding in time to when a specific client-side communication error occurred, this often means a network problem.

10008 Bad token from SQL Server: datastream processing out of sync.

Often caused by an abruptly terminated network connection, which causes a damaged Tabular Data Stream token to be read by the client.

10010 Read from SQL Server failed.

The client was reading from the SQL Server network data stream, and the read returned a failure code. DB-Library may also return a network-specific error code which your network support provider may find useful in diagnosing the problem.

10018 Error closing network connection.

The client attempted to close a network connection and the close returned a failure code. DB-Library may also return a network-specific error code which your network support provider may find useful in diagnosing the problem.

10025 Write to SQL Server failed.

The client was writing to the SQL Server network data stream, and the write returned a failure code. DB-Library may also return a network-specific error code which your network support provider may find useful in diagnosing the problem.