On both the client and server sides, SQL Server and its applicationsmostly exist above the ISO (International Organization for Standardization)network layer. The responsibility for establishing and maintaining areliable network connection belongs to the network and system layers belowSQL Server.
SQL Server's use of this medium is somewhat analogous to two parties whopurchase and use telephones. The telephones on each end of a connectionrely on the telephone network to establish and maintain a reliableconnection. Problems such as static, poor quality, lost connections and soforth can only rarely be traced to the user's telephone equipment. Most ofthe time, any connection problem must be resolved in the telephone networkconnecting the two users.
Similarly, most of the errors listed in this article are onlymanifestations at the SQL layer of an underlying connection loss. They donot by themselves indicate a problem with SQL Server. The connection lossis commonly caused by the client workstation rebooting, in which case theserver would report a loss of connection to the client. Client applicationerrors or system errors, such as running out of memory, can cause theclient program to hang or abnormally terminate, which will also cause theserver to report a connection loss. The client system can be debugged tocheck for this. These errors can also be caused by various hardware andsoftware problems in the network connecting the client and the server.Successful problem resolution in these cases depends on acknowledging thenetwork, application, or system nature of the problem and focusing effortson that area.
Successful techniques include determining what users were doing on theclient computers at the time of the problem, running the client applicationin a debugger, and using a network analyzer, such as the Network GeneralSniffer or Novell Lanalyzer, to monitor the traffic between client andserver during the error.
Additional details on these errors are provided below.
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.
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 whena specific client-side communication error occurred, this often means anetwork 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.