FIX: FetchBufferSize Greater than Certain Number Fails to Transfer all Rows and Does Not Return an Error

Article translations Article translations
Article ID: 286737 - View products that this article applies to.
This article was previously published under Q286737
BUG #: 101216 (SQLBUG_70)
BUG #: 351892 (SHILOH_BUGS)
Expand all | Collapse all

On This Page

SYMPTOMS

When you transfer a SQL Server table from one database to another by using Data Transformation Services (DTS), if you increase the value of the Fetch Buffer Size parameter, only a few rows from the source table may be transferred to the destination table.

If you leave the Fetch Buffer Size at the default of 1, there are no inconsistencies. However, if you increase the Fetch Buffer Size parameter to a higher value, all the rows from the source table may not be transferred and no error message occurs.

CAUSE

This problem is caused by an internal modification of the fetch size in the SQLOLEDB provider. The adjustment is performed dynamically at run-time, and is based on numerous factors.

RESOLUTION

SQL Server 2000

To resolve this problem, obtain the latest service pack for SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

WORKAROUND

Reduce the Fetch Buffer Size parameter value to a value that causes all rows to transfer. The value of 1, which is the default, should always work.

STATUS

SQL Server 2000

Microsoft has confirmed that this is a problem in SQL Server 2000. This problem was first corrected in SQL Server 2000 Service Pack 1.

SQL Server 7.0

Microsoft has confirmed that this is a problem in SQL Server 7.0.

Properties

Article ID: 286737 - Last Review: October 31, 2003 - Revision: 3.2
APPLIES TO
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Keywords: 
kbbug kbfix kbsqlserv2000sp1fix KB286737

Give Feedback