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



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server 7.0

This article was previously published under Q286737
BUG #: 101216 (SQLBUG_70)
BUG #: 351892 (SHILOH_BUGS)

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.


Modification Type:MajorLast Reviewed:10/31/2003
Keywords:kbBug kbfix kbSQLServ2000sp1fix KB286737