FIX: Problems with Network Error During dbwritetext/dbmoretext

ID: Q186916


The information in this article applies to:

BUG #: 18061 (6.50)

SYMPTOMS

A failed network read during a dbwritetext or dbmoretext transfer of text or image data may result in the server attempting to allocate more space than is required to store the information.

Depending on the amount of space in the database, this may result in an unexpected error 1105 and unexpected disk activity, as well as resulting in the server using many more locks than would typically be expected for this operation.

Even though the network read fails, there will not be any messages in the SQL Server errorlog indicating this failure.


CAUSE

When transferring text or image data by means of dbwritetext or dbmoretext, the client initially sends across a text pointer and time stamp for the row that it will be modifying. After the server has validated the text pointer and time stamp, it requests that the client send across the number of bytes that it will be transferring in this operation. After the server reads this value, it attempts to allocate the necessary space, and when this has been done, it starts reading the text or image data that the client is sending.

A failure of the network read when attempting to obtain the number of bytes to be transferred results in an uninitialized local variable, and no error is generated on this failure. Due to the uninitialized variable, the server may attempt to allocate an arbitrary amount of space, resulting in the behavior described above.


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 5a for Microsoft SQL Server version 6.5. For information about downloading and installing the latest SQL Server Service Pack, see http://support.microsoft.com/support/sql/.

For more information, contact your primary support provider.


MORE INFORMATION

When this problem occurs, you may also notice writelog timeouts and bufwait timeouts, because the disk activity is typically extremely high while SQL Server attempts to allocate the requested space.

The timeout messages you may see will be similar to the following:

writelog: timeout, dbid 14, dbstat2 0x100002(0x100002), q1/q2 1/9,
owner=128, waittype=0
bufwait: timeout, BUF_IO, bp 0x1cb0420, pg 0x22c, stat 0x801004/0x6,
obj 0xffffcce0, bpss 0xe43490

Additional query words: sp sp5textpointer timestamp out outs


Keywords          : kbbug6.50 kbfix6.50.SP5 
Version           : winnt:6.5
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: April 3, 1999