BUG: Uninstalling SQL 6.5 After Upgrade to 7.0 May Removes 7.0 Data Files

ID: Q236989


The information in this article applies to:
  • Microsoft SQL Server version 7.0

BUG #: 56101 (SQLBUG_70)

SYMPTOMS

Uninstalling SQL Server 6.5 or 6.0, after an upgrade to SQL Server 7.0, may remove some SQL Server 7.0 data files if they are located in the SQL Server 6.5 directory.

After uninstalling SQL Server 6.5 and restarting SQL Server 7.0, you may see errors 5105, 17207, or 17204 in the SQL Server 7.0 errorlog:

FCB::Open failed: Could not open device C:\MSSQL\65data\db1.mdf for virtual device number (VDN) 1.
kernel udopen: Operating system error 2(The system cannot find the file specified.) during the creation/opening of physical device C:\MSSQL\65data\db1.mdf.
File C:\MSSQL\65data\db1.ldf does not exist - unable to activate.
Device activation error. The physical file name 'C:\MSSQL\65data\db1.ldf' may be incorrect.
When trying to access the database, you may encounter error 945:
Database 'db1' cannot be opened because some of the files could not be activated.


CAUSE

The default location for upgraded SQL Server 7.0 user data and log files is the same place the original SQL Server 6.5 device files are located, unless the SQL Server 6.5 devices are in the MSSQL\DATA directory. The Uninstall SQL 6.5 utility deletes all files in the SQL 6.5 installation directory, which may include upgraded SQL 7.0 data files.

Note that SQL Server 6.5 devices placed in the default location (MSSQL\DATA) are not subject to this problem since the location for these files changes to MSSQL7\DATA when they are upgraded. However, if there are SQL Server 6.5 device files in other subdirectories of the MSSQL directory ("C:\MSSQL\65DATA\", for example) the problem may also occur.


WORKAROUND

If you have SQL Server 7.0 data files in the SQL Server 6.5 MSSQL directory, do not select Yes when you receive the prompt "Are you sure you want to remove everything in 'C:\MSSQL' and all of its subdirectories?".

Either of the following two workarounds allows you to remove SQL Server 6.5 without affecting the SQL Server 7.0 data files:

  • Upgrade normally. After the upgrade, detach any databases that have files in the SQL Server 6.5 directory and move all SQL Server 7.0 .MDF/.NDF/.LDF files out of the MSSQL directory. Reattach the files from a different location before removing SQL Server 6.5.


  • In the Upgrade Wizard, modify the file layout so that the data files are not placed in the SQL 6.5 MSSQL directory. To change the file layout, click Edit in the Database Creation step of the Upgrade Wizard. If this is the workaround you select, refer to the following Microsoft Knowledge Base article prior to running the upgrade:
    Q200118 FIX: Adding Database Files During Upgrade May Cause Errors



STATUS

Microsoft has confirmed this to be a problem in SQL Server version 7.0.


MORE INFORMATION

On a computer that has only SQL Server 6.5 installed, you can remove SQL 6.5 by running the SQL Setup from the "Microsoft SQL Server 6.5" program group. After installing SQL Server 7.0 on a computer with SQL Server 6.5 installed, the SQL Server 6.5 setup program is no longer accessible. To uninstall SQL Server 6.5 after installing SQL Server 7.0, you must run "Uninstall SQL Server 6.x" from the "Microsoft SQL Server - Switch" program group.

REFERENCES

For details on attaching and detaching databases, search for "sp_detach_db" and "sp_attach_db" in the SQL Server 7.0 Books Online.

Additional query words: uninstallation remove

Keywords : SSrvInst kbbug7.00 kbSQLServ700bug
Version : winnt:7.0
Platform : winnt
Issue type : kbbug


Last Reviewed: January 3, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.