FIX: Bulk Insert with TABLOCK Hint May Result in Errors 8929 and 8965 When You Run CHECKDB (320434)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q320434
BUG #: 356942 (SHILOH_BUGS)

SYMPTOMS

If you use a TABLOCK hint with a non-logged bulk insert operation (for example, BCP [bulk-copy] utility, Transact-SQL command BULK INSERT, or Initial Synchronization of non-dynamic Merge Replication subscribers) against an empty table with a text, ntext or image column with Microsoft SQL Server 2000 Service Pack 1 hotfix build versions between 8.00.459 and 8.00.476 or Microsoft SQL Server 2000 Service Pack 2 (SP2) hotfix build versions between 8.00.552 and 8.00.599, the following error messages may occur if you run a DBCC CHECKDB statement or DBCC CHECKTABLE statement:
Server: Msg 8929, Level 16, State 1, Line 1
Object ID 1977058079: Errors found in text ID 6684672 owned by data record identified by RID = (1:77:0) pub_id = '0736' and ? = NULL.

Server: Msg 8965, Level 16, State 1, Line 1
Table error: Object ID 1977058079. The text, ntext, or image node at page (1:80), slot 0, text ID 6684672 is referenced by page (1:77), slot 0, but was not seen in the scan.
Additionally, the following error message may occur on a client application that selects the text, ntext or image column. In this case, the error message also appears in the SQL Server error log:
Server: Msg 7105, Level 22, State 6, Line 1
Page (1:80), slot 0 for text, ntext, or image node does not exist.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft 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



If you apply a Sqlservr.exe hotfix on a non-English SQL Server and you use the xp_msver extended stored procedure, see the following article in the Microsoft Knowledge Base:

319455 FIX: Xp_msver Returns Null for Most of the Properties of a Non-English SQL Server Installation

WORKAROUND

To work around the problem, either:
  • Insert a dummy row in the table to import into so that the table is not empty, and then delete the dummy row after you import the data. -or-

  • Do not use the TABLOCK hint.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbSQLServ2000sp3fix kbbug kbfix kbSQLServ2000preSP3fix KB320434