FIX: "Incorrect syntax near COLLATE" during DTS transfer on SQL Server 7.0 database that is restored to SQL Server 2000 (288411)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q288411
BUG #: 352117 (SHILOH_BUGS)

SYMPTOMS

After restoring a SQL Server 7.0 database to a SQL Server 2000 server, a DTS transfer may fail with the following error message:
Error Source: Microsoft OLE DB Provider for SQL Server
Error Description:Line 1: Incorrect syntax near 'COLLATE'.

CAUSE

Although the compatibility level of the newly restored database is set to 80, a CHECKPOINT of the database tables has not been issued.

RESOLUTION

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 How to obtain the latest SQL Server 2000 service pack

WORKAROUND

To work around this issue:
  • Issue a CHECKPOINT of the database after the restore operation.

    -or-
  • Issue the following command in SQL Server Query Analyzer:
    EXEC sp_dbcmptlevel <your_DB_name>, 80
    					

STATUS

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

MORE INFORMATION

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

285165 Attaching or restoring a SQL Server 7.0 database to SQL Server 2000 does not change the compatibility mode

281310 BUG: You cannot create an index on a computed column in a SQL Server 2000 database that was restored from SQL Server 7.0


Modification Type:MinorLast Reviewed:12/21/2004
Keywords:kbBug kbfix kbSQLServ2000sp1fix KB288411