PRB: "Setup Was Unable to Verify the State of the Server for an Upgrade" Error Message When SQL Server Service Pack 2 Setup Stops Responding (328290)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) SP2

This article was previously published under Q328290
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

SQL Server 2000 Service Pack 2 (SP2) Setup may stop responding, and you receive the following error message if there are blank spaces in the service pack folder path or if there are blank spaces in the TEMP variable path:
Setup was unable to verify the state of the server for an upgrade. Verify the server is able to start and that you provided a valid sa password and restart setup.
The service pack setup log (%Windir%\Sqlsp.log) has the following error footprint:
09:35:29 Q:\ServicePack\SP2\x86\BINN\osql.exe -S REDRIVERSQL -n -b -d master -o C:\My Temp Folder\Temp\~sqldb0.txt -i C:\My Temp Folder\Temp\SqlSetup\Bin\dbverify.sql -E
09:35:29 Process Exit Code: (1)
09:35:29 C:\My Temp Folder\Temp\SqlSetup\Bin\scm.exe -Silent 1 -Action 6 -Service MSSQLSERVER
09:35:44 Process Exit Code: (0)
09:35:44 Cannot open specified file: C:\My Temp Folder\Temp\~sqldb0.txt
09:36:38 Setup was unable to verify the state of the server for an upgrade. Verify the server is able to start and that you provided a valid sa password and restart setup.

CAUSE

This behavior occurs because Osql.exe cannot run the Dbverify.sql script to verify the state of the databases before it applies the service pack. Osql.exe stops responding because it cannot parse spaces in the path for input or output files. In the Sqlsp.log example in the "Symptoms" section, Osql.exe cannot open the file "C:\My Temp Folder\Temp\~sqldb0.txt" because of the spaces in the file name path.

WORKAROUND

To work around this behavior and to successfully install SQL Server 2000 SP2, use either of the following methods:

Method 1

Remove spaces in the TEMP environment variable value or in the folder in which the service pack files are located (or both), and then re-run Setup.

To reset the TEMP or TMP environment variables, use one of the following methods:

Microsoft Windows 98

  1. Modify this variable in the Autoexec.bat file on the client computer.

    NOTE: The variable is listed in a line that is similar to "SET TEMP" or "SET TMP."
  2. Verify that there is no space in the location, particularly any trailing spaces.

Microsoft Windows NT 4.0 Workstation

  1. Right-click My Computer, and then click Properties.
  2. On the Environment tab, under the User Variables for Administrator, locate either the TEMP or the TMP variable (both may exist).
  3. Click the TEMP or TMP variable next to Value.
  4. Verify that there is no space in the location, particularly any trailing spaces.

Microsoft Windows 2000

  1. Right-click My Computer, and then click Properties.
  2. On the Advanced tab, click Environment Variables.
  3. Under the User Variables for Administrator, locate either the TEMP or the TMP variable (both may exist).
  4. Click the TEMP or TMP variable, and then click Edit.
  5. Make sure that there is no space in the location, particularly any trailing spaces.

Method 2

Before you create the Temp folders or the folder to which the service pack files are copied (or both), verify that the following registry subkey is set to a value of 0:

HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\FileSystem\NtfsDisable8dot3NameCreation

A value of 0 ensures that folders with spaces can be accessed by using short names. If this registry value is set to 1, enable the 8dot3NameCreation subkey:

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
  1. Start Registry Editor.
  2. Locate, and then click the value under the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\FileSystem\NtfsDisable8dot3NameCreation

  3. On the Edit menu, click Modify, type 0, and then click OK.
  4. Quit Registry Editor.
  5. Restart the computer for this registry setting to take effect.

MORE INFORMATION

You may experience a similar issue during SQL Server 2000 Service Pack 1 Setup. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

308831 FIX: SQL Server 2000 Service Pack 1 Setup Fails with 703 Error Message: 'An internal read error..'


Modification Type:MajorLast Reviewed:10/17/2003
Keywords:kbprb KB328290