FIX: Hotfix packages that have build number 977 may not be installed correctly on SQL Server 2000 64-bit (892059)
The information in this article applies to:
- Microsoft SQL Server 2000 Enterprise Edition 64-bit
- Microsoft SQL Server 2000 Developer Edition 64 bit
SQL Server 8.0:473370 SYMPTOMSMicrosoft 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. CAUSEThis 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.WORKAROUNDTo 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
- Change the startup parameters to refer to the
original paths. To do this, follow these steps:
- In SQL Server Enterprise Manager, right-click the instance of SQL Server, and
then click Properties.
- 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.
- 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 - Quit SQL Server.
- 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.
- Start SQL Server.
- Apply the SQL 2000 64-bit hotfix package that has build number
977 (or a later build number) that you received from Microsoft.
- 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 INFORMATIONThere 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 approachAfter the hotfix installation process fails, review the corresponding
log file, %WinDir%\Hotfix\SQL64\Logs\SQL64_Hotfix_KB xxxxxx_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=SQLArg n,Value=-dE:\mssql\data\MSSQL\DATA\master.mdf,)
MSI (s) (14:E8): Executing op: RegAddValue(Name=SQLArg n,Value=-eE:\mssql\data\MSSQL\LOG\ERRORLOG,)
MSI (s) (14:E8): Executing op: RegAddValue(Name=SQLArg n,Value=-lE:\mssql\data\MSSQL\DATA\mastlog.ldf,) The file locations in the SQLArg n values indicate the original file locations
that the hotfix package expects. Note n
represents an enumeration for the installation. Proactive approachThe 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
Sqlrun n.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=SQLArg n,Value=-dE:\mssql\data\MSSQL\DATA\master.mdf,)
MSI (s) (E8:BC): Executing op: RegAddValue(Name=SQLArg n,Value=-eE:\mssql\data\MSSQL\LOG\ERRORLOG,)
MSI (s) (E8:BC): Executing op: RegAddValue(Name=SQLArg n,Value=-lE:\mssql\data\MSSQL\DATA\mastlog.ldf,) The file locations in the SQLArg n 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
Modification Type: | Minor | Last Reviewed: | 6/5/2006 |
---|
Keywords: | kbHotfixServer kbQFE kbbug KB892059 kbAudDeveloper |
---|
|