Microsoft KB Archive/892059

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 18:22, 18 July 2020 by 3155ffGd (talk | contribs) (importing KB archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Article ID: 892059

Article Last Modified on 6/5/2006



APPLIES TO

  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Developer Edition




SYMPTOMS

Microsoft SQL Server 2000 64-bit hotfix packages that have build number 977 may not install correctly if you have changed the file location of one or more of the following files after you installed SQL Server 2000 64-bit:

  • The primary data file for the master database (Master.mdf)
  • The error log file (Errorlog)
  • The transaction log file for the master database (Mastlog.ldf)

When this problem occurs, error messages that are similar to the following are logged in the hotfix log file:

12/27/2004 10:38:12.795 Pre-script user authentication failed - continuing to wait for SQL service to become responsive after NT service startup
12/27/2004 10:38:42.756 The following exception occurred: Description: Unable to verify SQL service state - cannot proceed to run scripts
File: c:\depot\sqlvault\setupmainqfe\hotfixinstaller\hotfix\instance.cpp
Line: 1049
Function: CSQLInstance::LocalWaitForService
Date: 12/27/2004 10:38:42.756

Note The following is the path of the hotfix log file:

%WinDir%\Hotfix\SQL64\Logs\SQL64_Hotfix_KBxxxxxx.log


Additionally, SQL Server 2000 error logs and the Microsoft Windows Application log will also contain error messages that indicate that the SQL Server service could not start.

When this problem occurs, the hotfix installer has already performed the file copy operation and has updated the files. The hotfix installer should then start the SQL Server service and run the .sql script files. However, the failure occurs during the service startup process. Therefore, the files have been updated but none of the scripts have been run.

CAUSE

This problem occurs if you change one or more of the file locations that are mentioned in the "Symptoms" section after you install SQL Server 2000 64-bit.

When you first install SQL Server 2000 64-bit, SQL Server Setup caches these file locations. Later, you may change one or more of these file locations to refer to a different path. However, when you run SQL Server 2000 64-bit hotfix packages that have build number 977, the installer refers to the original file locations from the cache. Therefore, when the hotfix installer tries to start SQL Server 2000 64-bit by using the original file locations, SQL Server 2000 64-bit cannot start because the file locations are no longer valid.

WORKAROUND

To work around this issue, configure SQL Server 2000 64-bit to use the same file locations that the original installation used. To do this, you must identify the original file locations and then change the startup parameters to refer to the original paths. If you do not know the original file locations, see the "More Information" section for information about how to identify the original file locations.

Note This version of Microsoft SQL Server 2000 64-bit does not install SQL Server Enterprise Manager. Use SQL Server Enterprise Manager 2000 32-bit on a 32-bit operating system to remotely connect to SQL Server 2000 64-bit.

The following steps use these example file locations:

  • Original location: C:\Program Files\Microsoft SQL Server\MSSQL
  • Current location: E:\Mssql\Data\MSSQL
  1. Change the startup parameters to refer to the original paths. To do this, follow these steps:
    1. In SQL Server Enterprise Manager, right-click the instance of SQL Server, and then click Properties.
    2. Click Startup Parameters. Note the three entries that are similar to the following:

      -dE:\mssql\data\MSSQL\DATA\master.mdf
      -eE:\mssql\data\MSSQL\LOG\ERRORLOG
      -lE:\mssql\data\MSSQL\DATA\mastlog.ldf

      -d is the fully qualified path of the master database primary data file.
      -e is the fully qualified path of the SQL Server error log file.

      -l is the fully qualified path of the master database log file.
    3. If the paths in one or more of these parameters are different from the original paths, change the paths to the original paths.

      Note Make sure that the paths that you are changing the parameters to are valid on this 64-bit system.

      For example, change the paths to the following:

      -dc:\Program Files\Microsoft SQL Server\MSSQL\DATA\master.mdf
      -ec:\Program Files\Microsoft SQL Server\MSSQL\LOG\ERRORLOG
      -lc:\Program Files\Microsoft SQL Server\MSSQL\DATA\mastlog.ldf

    4. Quit SQL Server.
    5. If you changed the –d parameter or the –e parameter in step c, you must copy the corresponding file from its current location to the original location. For example, if you changed the –d parameter, copy the Master.mdf file from the E:\Mssql\Data\MSSQL\Data folder to the C:\Program Files\Microsoft SQL Server\MSSQL\Data folder.
    6. Start SQL Server.
  2. Apply the SQL 2000 64-bit hotfix package that has build number 977 (or a later build number) that you received from Microsoft.
  3. This step is optional. You can now restore the error log paths to the locations that you were using before you performed these steps. To do this, repeat step 1 and change the startup parameters back to the paths that you noted in step 1b.

Note Make sure that you document the original locations for all three parameters immediately after you install SQL 2000 64-bit the first time. Later, when you want to apply a SQL Server 2000 64-bit hotfix package, you may have to repeat these steps to make sure that SQL Server is using the original file locations before you run the hotfix installer.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This bug was corrected in SQL Server 2000 64-bit hotfix build 1007.

MORE INFORMATION

There are two different ways to determine the original file locations that correspond to your SQL Server 2000 64-bit installation: a reactive approach, and a proactive approach.

Reactive approach

After the hotfix installation process fails, review the corresponding log file, %WinDir%\Hotfix\SQL64\Logs\SQL64_Hotfix_KBxxxxxx_sqlrun.msp.log. The following messages are logged in the log file:

MSI (s) (14:E8): Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\Parameters,,BinaryType=1)
MSI (s) (14:E8): Executing op: RegAddValue(Name=SQLArgn,Value=-dE:\mssql\data\MSSQL\DATA\master.mdf,)
MSI (s) (14:E8): Executing op: RegAddValue(Name=SQLArgn,Value=-eE:\mssql\data\MSSQL\LOG\ERRORLOG,)
MSI (s) (14:E8): Executing op: RegAddValue(Name=SQLArgn,Value=-lE:\mssql\data\MSSQL\DATA\mastlog.ldf,)

The file locations in the SQLArgn values indicate the original file locations that the hotfix package expects.

Note n represents an enumeration for the installation.

Proactive approach

The first time that you install SQL Server 64-bit, the Setup program creates a log file in the %TEMP% location. This log file is named Sqlrunn.log.

Open this log file. Then, locate a message that is similar to the following:

MSI (s) (E8:BC): Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\Parameters,,BinaryType=1)
MSI (s) (E8:BC): Executing op: RegAddValue(Name=SQLArgn,Value=-dE:\mssql\data\MSSQL\DATA\master.mdf,)
MSI (s) (E8:BC): Executing op: RegAddValue(Name=SQLArgn,Value=-eE:\mssql\data\MSSQL\LOG\ERRORLOG,)
MSI (s) (E8:BC): Executing op: RegAddValue(Name=SQLArgn,Value=-lE:\mssql\data\MSSQL\DATA\mastlog.ldf,)

The file locations in the SQLArgn values indicate the original file locations that the hotfix package expects.

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

872912 Description of the 64-bit SQL Server 2000 hotfix installer



Additional query words: Bug #: 473370 (SQL Server 8.0)

Keywords: kbbug kbqfe kbhotfixserver KB892059