BUG: DB-Lib Unable to Handle Burst of TDS Packets Under TCP/IP

Last reviewed: April 8, 1997
Article ID: Q152063

The information in this article applies to:
  • Microsoft SQL Server version 4.2
BUG# NT: 15078

SYMPTOMS

Under TCP/IP socket Net-Library, a DB-Library (DB-Lib) application may not be able to handle a large number of TDS packets that are sent back to the client very quickly. As a result, the following error occurs, which also breaks the connection:

   DB-Library: Possible network error: Read from SQL Server failed.
   Net-Library error 0: (null)

CAUSE

When TCP/IP sends a large number of small TDS packets to clients, TCP tends to coalesce those small data packets. With the TCP windowing mechanism, the client's receive buffer typically contains numerous TDS packets waiting to be fetched by DB-Lib. When this happens, DB-Lib may incorrectly process the incoming data. The problem is more likely to occur with a faster server and a slower client.

WORKAROUND

This problem only occurs under TCP/IP; therefore, you may want to use other IPCs (such as named pipes, IPX/SPX, or RPC) instead.

Also, reducing the window size on the client side TCP/IP can make the problem less likely to occur.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server DB- Library versions 6.5 and 6.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


Additional query words: bundling Nagle bad token dblib
Keywords : kbbug6.00 kbbug6.50 kbprg SSrvDB_Lib
Version : 6.0 6.5
Platform : WINDOWS
Resolution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 8, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.