Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/330391

From BetaArchive Wiki

Article ID: 330391

Article Last Modified on 4/6/2006


  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition

This article was previously published under Q330391

The information in this article applies to Microsoft SQL Server 2000 Service Pack 3 (SP3) hotfix builds 761 through 977 on all operating systems. The information in this article also applies to SQL Server 2000 SP3 hotfix builds 977 through 2037 when they are installed only on a computer that is running Microsoft Windows 98, Microsoft Windows Millennium Edition, or Microsoft Windows NT. If you are trying to install SQL Server 2000 SP3 hotfix build 977 or a later build on a computer that is running Microsoft Windows 2000, Microsoft Windows XP, or Microsoft Windows Server 2003, click the following article number to view the article in the Microsoft Knowledge Base:

842960 Description of the 32-bit SQL Server 7.0 and SQL Server 2000 hotfix installer

SQL Server 2000 Service Pack 4 (SP4) and later versions are not supported in Windows 98, in Windows Millennium Edition, or in Windows NT. Therefore, there is no hotfix support for those operating systems in SQL Server 2000 SP4 and in later versions.


Microsoft SQL Server 2000 hotfixes will be packaged and delivered to users as a self-extracting executable file. The hotfix installer helps you install hotfixes by using a GUI-based Setup program. By using the hotfix installer, you can also automate the hotfix installation process across your whole organization.

The name of the hotfix installer executable file will have this format:


  • X indicates the major version number.
  • YY indicates the two-digit minor version number.
  • ZZZZ indicates the hotfix number.
  • LangName is the three letter abbreviation for the language to which the hotfix is localized.

For example, the U.S. English version of SQL Server 2000 hotfix number 701 would be:


If you experience disk space errors when you extract the package, see the following article in the Microsoft Knowledge Base:

301913 BUG: Error message "There is not enough space on drive" occurs when you extract SQL Server 2000 dowloads


Before you install the hotfix installer

Before you install the hotfix installer, Microsoft recommends that you perform a backup of these databases:

  • master
  • msdb
  • model

Later, if you decide to rollback the hotfix, you have to restore these backups. More information about the rollback process is included in the "How to remove or rollback the hotfix" section of this article. The installation of the hotfix installer does not make modifications to the user databases; however, it might include modifications to the system databases.

How to use the hotfix installer

To start the hotfix installation process, you must run the hotfix executable file. For a standard hotfix installation, you must save and run the hotfix executable file on the server computer. For instructions about how to install hotfixes on a cluster installation, read the "Cluster installation" section of this article. To run the installation, you must log on to the operating system with a user account that has local administrative credentials.

When you run the installation, the package files are extracted to the temp folder. Then, a GUI-based hotfix installer tool starts that guides you through the rest of the installation process.

What files are updated by this hotfix?

A list of files that are updated by this hotfix is located in an INF file. You must run the hotfix executable file and extract the INF file to review the file list.

To obtain a list of the files that the hotfix updates, follow these steps:

1. Start the hotfix executable file. Run the program until you are the extraction page. The files are then extracted to the %TEMP% folder. Do not cancel the setup yet. If you cancel the setup, all the extracted files are removed from the %TEMP% folder.

2. After you see the Welcome screen for the hotfix installer, locate the %TEMP% folder. Use the timestamp on the folders that are in the TEMP folder to identify a folder named pftXX~tmp, where XX is a random number

3. Locate the Hotfix.inf file in this folder to obtain a complete file list from the [FILES] section of this INF file. Additionally, you can also review the [SCRIPTS] section of the Hotfix.inf file to find out if the update runs any scripts against your SQL Server installation.

4. Now, you can cancel the setup to remove the temporary folder.

Note You can also obtain the list of the files that the hotfix updates by reviewing the Microsoft Knowledge Base article that was authored for this hotfix. The article number is shown in the initial Welcome screen of the hotfix installer.

How the installer works

The hotfix installer uses these steps to complete the installation:

  1. When you run the self-extracting exe, the files are extracted to a temp folder on the computer.
  2. The hotfix installer then verifies that the user who is currently logged on has administrative credentials before it initiates the Setup log file.
  3. The installer automatically detects all instances of a SQL Server installation, and enumerates the list of the instances that qualify for the update. To qualify for the hotfix update, the SQL Server installation must satisfy certain requirements. The Microsoft Knowledge Base article that references this hotfix will have more information about the requirements for applying this update. For example, if the hotfix requires the installation of Microsoft SQL Server 2000 Service Pack 2, then you must install SQL Server 2000 Service Pack 2 before you apply this hotfix. If the computer does not have any SQL Server installations that qualify for this hotfix installation, you receive a message similar to the following and the installation is aborted:

    You do not have any instance of SQL installed on this computer that qualifies for this HotFix. Please check version and service pack requirements for this Hotfix.

  4. After you select a particular instance of SQL Server for the hotfix upgrade, the hotfix installer resolves and reads to memory the appropriate folder names and locations that correspond to the SQL Server installation that you selected.
  5. The Setup prompts you for information, such as whether you want to use SQL Server Authentication or Windows Authentication. If you select SQL Server Authentication, you must supply the Setup program with the password for the sa logon. If you select Windows Authentication, you must be running the Setup program while you are logged on to Windows with a Windows logon account. This logon account must be a part of the sysadmin fixed server role for the instance of SQL Server you are upgrading. If you want to use SQL Server Authentication, you must make sure that the instance of SQL Server is configured for Mixed Mode security. Otherwise, the authentication step is not successful and you receive the following error message, even if you supply a valid sa password:

    Invalid login information. Please try again.

  6. After you log in SQL Server by using the logon information from step 5, the Setup program stops both the MSSQLSERVER service and the SQL Server Agent services for the instance that is being upgraded.
  7. Now, the hotfix installer performs the core step of replacing the existing files with the new files that were included with the hotfix. To do this, the program searches the destination computer to verify if the files are really present. If the files exist on the destination computer, it qualifies for a replacement. After a file passes this check, the file version is compared against the source file. For files without a version number, the program uses the time and date information. This creates a list of files that are to be installed.
  8. For each file that is selected for replacement, the file is first backed up to a backup folder. This backup folder will exist in the same folder as the file. Under the backup folder there is a sub-folder that has the same name as the hotfix build number.
    For example, if you are installing SQL Server 2000 hotfix 701, and Sqlservr.exe must be replaced from its current location (C:\Program Files\Microsoft SQL Server\MSSQL\Binn\), the installer creates a new folder structure similar to C:\Program Files\Microsoft SQL Server\MSSQL\Binn\Backup\0701, and it backs up the existing file to this new location before it replaces it with the new file from the hotfix.

    Likewise, if you select a file that is in C:\Program Files\Microsoft SQL Server\MSSQL\Binn\Resources\1033 for replacement, it is first copied to a backup location similar to C:\Program Files\Microsoft SQL Server\MSSQL\Binn\resources\1033\Backup\0701, and it is then replaced with its counterpart from the hotfix.

    Note If you use the hotfix installer on an instance of SQL Server, and you remove such an instance, the backup folders described earlier are not deleted by the SQL Server remove program. You must then manually delete these backup folders created by the installer. If these folders are not removed, your future attempts to re-install Microsoft SQL Server 2000 on this computer by using the same instance name will fail.
  9. After the installer stops all the services, a file will not be held locked and is ready for replacement through a simple copy operation. If the file is locked, the installer aborts, and you receive the following message:

    One or more of the files selected for patching is locked by other processes. The log file has detailed information about the locked files.

    Please close all applications and restart the Hotfix Installer. If the problem persists, you may have to restart your computer and then restart the Hotfix Installer.

If there are scripts that must be run, the installer starts all services and runs the scripts.

Cluster installation

SQL Server 2000 cluster installations

To apply the hotfix package to a clustered SQL 2000 installation, you must run the hotfix package on the node that owns the SQL Server resource. Then, the hotfix installer will take the SQL Server resource offline and update the binaries on all nodes of the cluster. Finally, the SQL Server Resource is brought online, and the installer runs any install scripts (.sql) that were shipped as part of the hotfix.

SQL Server 7.0 cluster installations

For clustered SQL Server 7.0 installations, you must first uncluster SQL Server by running the SQL Server Failover Wizard from the primary cluster node of each virtual SQL Server.


Follow these steps for an Active/Active installation:

  1. Make sure that the computer node where SQL Server 7.0 was originally installed, controls both the SQL Server resource groups.
  2. On each node of the cluster, run the Failover Setup Wizard utility to remove that Virtual SQL Server.
  3. After unclustering SQL Server, you must run the hotfix executable file on both the nodes, and complete the hotfix installation successfully before you recluster SQL Server.


Follow these steps for an Active/Passive installation:

  1. Make sure that the computer node, where SQL Server 7.0 was originally installed, controls the SQL Server resources.
  2. On this same computer node, run the Failover Setup Wizard utility to remove that Virtual SQL Server.
  3. After unclustering SQL Server, you must run the hotfix EXE on the primary node only, and complete the hotfix installation successfully before you recluster SQL Server.

Command line parameters

Here is a list of the command line parameters that are available with this hotfix package.

Option         Definition
------         ----------

/s             Disable Self Extraction progress dialog. Must come before /a.

/a             This parameter must come before all parameters except /s if you
               are running the hotfix by using the self-extracting EXE, and you 
               want to include parameters for unattended installations. This is a
               mandatory parameter for the installer to run in the unattended mode. 

/q             This flag causes the Setup program to run in silent mode
               with no user interface. 

/allinstances  This is an SQL specific key that patches all instances of SQL Server
               in silent mode that pass the applicability rules. This flag can also be used
               to patch all SQL Server virtual servers that pass the applicability rules and needs 
               to be run from the active node. 

INSTANCENAME   Name of the instance of SQL  Server.  You must enter it as

BLANKSAPWD     Means blank sa password for SQL Authentication. If you enter
               this parameter on computers that are running Microsoft Windows NT or 
               Microsoft Windows 2000, the default Windows Authentication logon is
               overridden and it tries to log on with a blank sa password.  
               The correct format for this parameter is BLANKSAPWD=1.
               This parameter is recognized only for unattended

SAPWD          Non-blank sa password. If you enter this parameter, it must be
               in the form of SAPWD=yoursapassword. This parameter
               overrides default Windows Authentication on computers that are running
               Windows NT or Windows 2000, or a BLANKSAPWD, if entered.

Note You can use the start /wait standard Windows command line prefix in front of the command to return control to the command prompt after the hotfix installer completes.

Command line examples

  • The command line syntax for an unattended installation of a hotfix on a default instance of SQL Server with the self-extraction progress dialog box disabled is:

    8.00.0701_enu.exe /s /a /q

    Because no authentication information is provided in the command line, a default Windows Authentication logon is used.

  • The command line syntax for an unattended installation of a hotfix on a named instance of SQL Server is:

    8.00.0701_enu.exe /a /q INSTANCENAME=FRIDAY SAPWD=MyPwd

    where FRIDAY is the name of SQL Server 2000 instance. The installation will fail if the INSTANCENAME parameter is supplied as servername\instancename.

  • The command line syntax for an unattended installation of a hotfix by using the start /wait option is:

    start /wait 8.00.0701_enu.exe /s /a /q INSTANCENAME=sqlinstance02

How to perform an unattended installation

An unattended installation is similar to the interactive installation described earlier. For a silent installation, you must execute the self-extracting EXE with the /q parameter. If you are applying the hotfix to a named instance, you must specify the instance name on the command line by using the INSTANCENAME parameter. If the selected instance qualifies for the hotfix, the installer will apply the patch, as described earlier. If the INSTANCENAME parameter is not supplied, the hotfix uses the default instance for SQL Server.

For unattended installations on a cluster, you can use the same syntax like in a noncluster scenario. For example, if you have a named instance in a cluster named HELLO\Inst1, where HELLO is the Virtual Server name, the syntax is similar to:

start /wait 8.00.0701_enu.exe /q instancename=inst1

Log file

Every action that is performed by the hotfix installation process is recorded in the setup log file. The log file will have enough information about each action taken at each stage of the installation, and the specific operation performed on each file. The hotfix saves the log file in the %WINDIR%\SQLHotfix folder. For each log file, the program creates a unique name:


The question mark (?) is how many times you tried to install the hotfix on the computer.

For a successful installation, at the end of the log file you will see this message:


Similarly this message means a failure has occurred during the hotfix installation:


This message indicates that the installation was canceled in the middle of the setup process, and the installation was aborted:

User canceled the installation

For failed installations, a corresponding error code is written to the hotfix installer log.

How to remove or rollback the hotfix

If you decide to rollback a hotfix package, you must use a manual process to remove the updated files. A complete list of the files and the appropriate backup directories that were created by the hotfix is listed in the setup log file. As mentioned earlier, the installer backs up the current files to the backup folder structure (documented earlier in this article) before replacing them with the new files. To rollback the hotfix, you must stop all services and replace all the files from the backup folder specified in the log file. If the hotfix did run any scripts during installation, there is no quick automatic way to roll back the changes it made to the system databases. That is why it is important for you to back up the system databases before you apply the hotfix.

If you must rollback from this hotfix, and your setup log file (or the INF file) indicates that the hotfix did run one, or more, .sql scripts against your server, you must follow these steps:.

Important The following steps involve rebuilding your master database and restoring it from a master backup that was taken before you applied the hotfix. If you created any new user databases after you applied the hotfix, you must backup these user databases now so that you can restore these databases, after completing the following steps:

  1. Detach all user databases. For more information, see the "Attaching and Detaching Databases" topic in SQL Server 7.0 Books Online, or the "How to attach and detach a database (Enterprise Manager)" topic in SQL Server 2000 Books Online.
    Note If any of the databases are involved in replication, you must first disable publishing and distribution. For more information, see the "Disabling Publishing and Distribution" topic in SQL Server Books Online.
  2. Stop all SQL Server services (that is, MSSQLServer, SQLServerAgent, Microsoft Distributed Transaction Coordinator [MS-DTC], Microsoft Search).
  3. As a safety factor, copy the Data folder to a safe location. If you have data and log files in a separate folder, other than the default Data folder, also copy those files.
  4. Search the computer for the backup folder, and replace the new versions of all files with the old versions.
  5. Rebuild the master database.
  6. Restore the master, model and msdb databases from your backup of these databases that was taken before you applied the hotfix. This automatically attaches any user databases that were attached when you created the backup. Attach any user databases that were created after the last backup of the master database.
  7. If you had full-text catalogs, restore the full-text catalogs and resynchronize the full-text catalogs. For more information, see the following article in the Microsoft Knowledge Base article:

    240867 How to move, copy, and back up full-text catalog folders and files

  8. If you use replication you must reconfigure replication manually.
  9. If you use SQL Mail, reconfigure SQL Mail. For more information, see the following article in the Microsoft Knowledge Base:

    263556 How to configure SQL Mail

Additional query words: kbAudDeveloper kbSQLServ2000Search kbSQLServ2000 kbSQLServSearch

Keywords: kbhowto kbinfo KB330391