PRB: SQL 6.5 Upgrade Results in Errors 4850 and 4851 (321456)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
- Microsoft SQL Server 6.5
- Microsoft SQL Server 7.0
This article was previously published under Q321456 SYMPTOMS
When you perform a one computer or two computer upgrade by using the Microsoft SQL Server Upgrade Wizard from SQL Server 6.5 to SQL Server 7.0 or to SQL Server 2000, you may receive one of the following error messages:
Msg 4850, Level 0, State 1, Server Server1,
Procedure , Line 1 Data import: Table 'table1' is already locked by another user.
Msg 4851, Level 0, State 1, Server Server1, Procedure , Line 1 Data import:
Table 'table1' already has data. Skipping to next table.
These errors are written to one of the log files that are created during the upgrade. The name of the log file depends on the database name and ID. The log file typically contains the following text where xx is the database ID and yyy is the name of the database being upgraded:
IMPORT EXPORT VIA NAMED PIPES - 0xxyyy.OUT
CAUSE
These errors may occur for serveral reasons, some of which are as follows:
- There are consistency errors present in the SQL Server 6.5 table that prompt the Upgrade Wizard to skip some tables and to place this message into the upgrade log.
- The SQL Server 6.5 database is being upgraded to a SQL Server 7.0 (or to a SQL Server SQL Server 2000) database that already has some of the tables that are created and populated before the upgrade started.
- These errors may also occur if you perform the upgrade on a symmetric multiprocessing computer. Under certain circumstances, Upgrade Wizard might start several threads to transfer the same table. The first thread that reaches SQL Server 7.0 (or SQL Server 2000) creates the table, and then starts populating the table with data. The other threads place one of these messages in the upgrade log file, and then continues to transfer other tables.
RESOLUTION
To resolve this behavior, follow these steps:
- Run DBCC CHECKDB and NEWALLOC on the SQL Server 6.5 database (or databases). Additionally, perform DBCC CHECKDB on the SQL Server 7.0 (or SQL Server 2000) database (or databases). If these checks report no errors, proceed to step 2. If the checks report errors on SQL Server 6.5, correct these errors as appropriate, and then perform the upgrade again. If these checks report errors on SQL Server 7.0 (or SQL Server 2000), correct the errors as appropriate, and then proceed to Step 2.
- Perform a rowcount comparison on the source and destination tables, and then verify that all rows were transferred as part of the upgrade. If rowcounts from the source and destination tables are the same, you can conclude that the upgrade was successful.
Modification Type: | Major | Last Reviewed: | 11/14/2003 |
---|
Keywords: | kbprb KB321456 |
---|
|