INF:SQL Server Hotfix Installer

文章翻译 文章翻译
文章编号: 330391 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

Microsoft SQL Server 2000 热修复程序将作为一个自解压可执行文件打包并提供给用户。此 Hotfix Installer(热修复程序安装器)将通过使用一个基于 GUI 的安装程序帮助您安装热修复程序。通过使用该 Hotfix Installer,您还可以使修复程序的安装过程在您的整个组织中实现自动化。

Hotfix Installer 可执行文件的名称将具有以下格式:

X.YY.ZZZZ_LangName.exe
  • X 表示主版本号
  • YY 表示 2 位数的次要版本号
  • ZZZZ 表示热修复程序编号。
  • LangName 是该热修复程序本地化的语言版本的三字母缩写。
例如,美国英语版的编号为 701 的 SQL Server 2000 热修复程序将表示为:

8.00.0701_enu.exe。

如果您在解压此软件包时遇到了磁盘空间错误,请参见以下 Microsoft 知识库文章:
301913 BUG:Error "There is not enough space on drive" When Extracting SQL Server 2000 SP1

更多信息

安装 Hotfix Installer 之前

在您安装 Hotfix Installer 之前,Microsoft 建议您备份以下数据库:
  • master
  • msdb
  • model
以后,如果决定回滚此热修复程序的安装,您必须还原这些备份。本文的“如何删除或回滚”一节中包括关于回滚安装的更多信息。安装 Hotfix Installer 不会修改用户数据库;不过,可能会修改系统数据库。

如何使用 Hotfix Installer

要启动热修复程序的安装过程,您必须运行此热修复程序的可执行文件。对于标准的热修复程序安装,您必须在服务器计算机上保存并运行此热修复程序的可执行文件。有关如何在群集安装上安装热修复程序的说明,请阅读本文的“群集安装”部分。要运行此安装,您必须使用一个具有本地管理凭据的用户帐户登录到操作系统。

这样,当您运行此安装时,软件包中的文件将解压缩到 temp 文件夹中。接着,一个基于 GUI 的 Hotfix Installer 工具将启动,它指导您完成以后的安装过程。

此热修复程序更新了哪些文件?

由此热修复程序更新的文件的列表位于一个 INF 文件中。您必须运行此热修复程序可执行文件并提取出此 INF 文件以查看该文件列表。

如想获取此热修复程序将更新的文件的列表,请按照下列步骤操作:

1. 启动热修复程序可执行文件。运行该程序直到进入解压缩页。然后文件将被解压缩到 %TEMP% 文件夹中。现在不要取消安装过程。如果取消了安装过程,则所有解压缩的文件都将从 %TEMP% 文件夹中被删除。

2. 在看到 Hotfix Installer 的欢迎屏幕后,找到 %TEMP% 文件夹。通过 TEMP 文件夹中各文件夹上的时间戳以找出一个名为 pftXX~tmp 的文件夹,其中 XX 是一个随机数

3. 在此文件夹中找到 Hotfix.inf 文件,从该 INF 文件的 [FILES] 部分可获得一个完整的文件列表。另外,您还可以检查此 Hotfix.inf 文件的 [SCRIPTS] 部分,看一看该更新程序是否针对您的 SQL Server 安装运行了某些脚本。

4. 现在,您可以取消安装过程以便删除此临时文件夹。

注意:您还可以通过检查针对此热修复程序撰写的 Microsoft 知识库文章,获取此热修复程序更新的文件的列表。此文章编号将显示在 Hotfix Installer 的欢迎屏上。

Installer 的工作过程

Hotfix Installer 使用下列步骤完成安装:
  1. 当您运行自解压 exe 文件时,文件将解压缩到计算机上的 temp 文件夹中。
  2. 然后 Hotfix Installer 将在启动安装程序日志文件之前检查当前登录的用户是否具有管理凭据。
  3. Installer 将自动检测 SQL Server 安装的所有实例,并枚举出适合进行此更新的实例的列表。为具备应用此热修复程序更新的资格,SQL Server 安装必须满足某些要求。关于此热修复程序的 Microsoft 知识库文章中将提供更多关于应用此更新的要求方面的信息。例如,如果热修复程序要求安装 Microsoft SQL Server 2000 Service Pack 2,则您必须在应用此热修复程序之前安装 SQL Server 2000 Service Pack 2。如果计算机上没有符合应用此热修复程序的条件的 SQL Server 安装,则您将收到一条类似于以下内容的错误消息而且安装将中止:
    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. 在您为此热修复程序升级选择了一个特定的 SQL Server 实例之后,Hotfix Installer 将解析对应于您所选的 SQL Server 安装的适当的文件夹名称和位置并将它们读入内存。
  5. 安装程序将提示您提供信息,例如,您希望使用 SQL Server 身份验证还是 Windows 身份验证。如果选择 SQL Server 身份验证,则您必须向安装程序提供 sa登录密码。如果您选择 Windows 身份验证,则必须使用 Windows 登录帐户登录到 Windows,才能运行该安装程序。此登录帐户必须是您将要升级的 SQL Server 实例的 sysadmin 固定服务器角色的成员。如果您希望使用 SQL Server 身份验证,那么您必须确保将该 SQL Server 实例配置为使用混合模式安全机制。否则,即使您提供了一个有效的 sa 密码,身份验证步骤也会失败,而且您将收到如下错误消息:
    Invalid login information.Please try again.
  6. 在您通过第 5 步中的登录信息登录到 SQL Server 之后,安装程序将停止正在升级的实例的 MSSQLSERVER 服务和 SQL Server 代理服务。
  7. 现在,Hotfix Installer 将执行使用热修复程序中包含的新文件替换现有文件这一核心步骤。为此,该程序将搜索目标计算机以确认这些文件是否确实存在。如果这些文件在目标计算机上,它就检查各文件是否符合替换的条件。一个文件通过此检查后,此文件的版本将与源文件进行比较。对于没有版本号的文件,安装程序将使用时间和日期信息。这样就会创建出一个待安装文件的列表。
  8. 对于选定的每一个要替换的文件,首先要将该文件备份到一个备份文件夹。此备份文件夹将与该文件在同一文件夹中。在备份文件夹下有一个子文件夹,它有与此热修复程序内部版本号相同的名称。
    例如,如果您要安装 SQL Server 2000 热修复程序 701,而且 Sqlservr.exe 必须从其当前位置 (C:\Program Files\Microsoft SQL Server\MSSQL\Binn\) 被替换掉,则 Installer 将创建一个类似于 C:\Program Files\Microsoft SQL Server\MSSQL\Binn\Backup\0701 的新文件夹结构,而且它将在使用热修复程序中的新文件进行替换之前将此现有文件备份到此新位置。

    同样,如果您选择替换 C:\Program Files\Microsoft SQL Server\MSSQL\Binn\Resources\1033 中的一个文件,此文件首先将被复制到类似于 C:\Program Files\Microsoft SQL Server\MSSQL\Binn\resources\1033\Backup\0701 这样的一个位置,然后它才被替换为热修复程序中与之对等的文件。

    注意:如果对一个 SQL Server 实例使用此 Hotfix Installer,但接着删除了此实例,SQL Server 删除程序将不能删除上述的备份文件夹。然后,您必须手动删除这些由 Installer 创建的备份文件夹。如果不删除这些文件夹,将来当您使用同一实例名称尝试在此计算机上重新安装 Microsoft SQL Server 2000 时就会失败。
  9. 在 Installer 停止所有的服务之后,一个待替换文件将解除锁定并且随时可以通过一个简单的复制操作被替换。如果该文件被锁定,则 Installer 将中止,而且您将收到以下错误消息:
    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.

如果具有必须运行的脚本,那么 Installer 将启动所有服务并运行这些脚本。


群集安装

SQL Server 2000 群集安装

要把此热修复程序包应用于群集中的 SQL 2000 安装,您必须在拥有 SQL Server 资源的节点上运行此热修复程序包。然后,Hotfix Installer 将使该 SQL Server 资源脱机并更新群集中所有节点上的二进制文件。最后,再让 SQL Server 资源恢复联机,而且 Installer 将运行作为此热修复程序的一部分提供的任何安装脚本 (.sql)。

SQL Server 7.0 群集安装

对于群集中的 SQL Server 7.0 安装,您必须通过从每一个虚拟 SQL Server 的主群集节点运行“SQL Server 故障切换向导”以让 SQL Server 撤出群集。

主动/主动

按照下列步骤执行“主动/主动”安装:
  1. 确保最初安装 SQL Server 7.0 的计算机节点控制着双方 SQL Server 资源组。
  2. 在群集的每一个节点上,运行“故障切换安装向导”实用程序以删除虚拟 SQL Server。
  3. 在 SQL Server 撤出群集之后,您必须在双方节点上运行此热修复程序的可执行文件,并在 SQL Server 返回群集之前成功完成热修复程序安装。

主动/被动

按照下列步骤执行“主动/被动”安装:
  1. 确保最初安装 SQL Server 7.0 的计算机节点控制着 SQL Server 资源。
  2. 在此同一计算机节点上,运行“故障切换安装向导”实用程序以删除虚拟 SQL Server。
  3. 在 SQL Server 撤出群集之后,您必须仅在主节点上运行此热修复程序的可执行文件,并在 SQL Server 返回群集之前成功完成热修复程序安装。

命令行参数

下面是可用于此热修复程序包的命令行参数的列表。
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. 

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

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
               installations.

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.
注意:在 Hotfix Installer 完成之后,您可以使用命令前面的 start /wait 标准 Windows 命令行前缀将控制权返回给命令提示符。

命令行示例

  • 在禁用自解压进度对话框的情况下在默认 SQL Server 实例上执行无人参与热修复程序安装时,命令行语法是:
    8.00.0701_enu.exe /s /a /q
    因为在命令行中未提供身份验证信息,所以将使用默认的 Windows 身份验证登录。
  • 在 SQL Server 命名实例上执行热修复程序的无人参与安装的命令行语法是:
    8.00.0701_enu.exe /a /q INSTANCENAME=FRIDAY SAPWD=MyPwd
    其中“FRIDAY”是 SQL Server 2000 实例名称。如果 INSTANCENAME 参数以“服务器名\实例名”的形式提供,则安装将失败。
  • 通过使用 start /wait 选项进行热修复程序无人参与安装的命令行语法是:
    start /wait 8.00.0701_enu.exe /s /a /q INSTANCENAME=sqlinstance02

如何执行无人参与安装

无人参与安装类似于前面介绍的交互式安装。对于无提示安装,您必须使用 /q 参数执行自解压执行文件。如果您将此热修复程序应用于命名实例,您必须使用 INSTANCENAME 参数在命令行上指定该实例名称。正如前面介绍的那样,如果选择的实例符合应用此热修复程序的条件,Installer 将应用该修补程序。如果未提供 INSTANCENAME 参数,则热修复程序将使用默认的 SQL Server 实例。

对于群集上的无人参与安装,您可以使用与非群集情形中相同的语法。例如,如果在群集中有一个命名实例名为 HELLO\Inst1,其中 HELLO 是虚拟服务器名称,则命令语法类似于:
start /wait 8.00.0701_enu.exe /q instancename=inst1

日志文件

每一项由热修复程序安装进程执行的活动都记录到了安装日志文件中。此日志文件中将包含足够详细的关于安装过程中每一阶段的每项活动的信息,并记录有对每一个文件执行的具体操作。热修复程序把此日志文件保存在 %WINDIR%\SQLHotfix 文件夹中。对于每一个日志文件,安装程序都创建了一个具有唯一性的名称:

SQLHotfix?.Log

问号 (?) 表示您在计算机上安装此热修复程序时进行了多少次尝试。

对于成功的安装,在日志文件的结尾您将看到以下消息:
INSTALL SUCCESS
类似地,下面的消息意味着热修复程序安装期间发生了错误:
INSTALL FAILURE

而下面的消息表明在安装过程中安装被取消,安装中止:

User canceled the installation


对于失败的安装,相应的错误代码将被写入到 Hotfix Installer 日志中。

如何删除或回滚热修复程序

如果您决定回滚某个热修复程序包,您必须手动删除更新的文件。在安装日志文件中,将有一个完整列表列出由热修复程序创建的文件及相应的备份目录。正如前面提到的那样,Installer 将在使用其新文件替换当前文件之前把当前文件备份到备份文件夹结构中(见本文前面的叙述)。要回滚此热修复程序,您必须停止所有的服务,并让日志文件中指定的备份文件夹中的所有文件回到原位。如果热修复程序在安装期间运行了脚本,则没有什么自动方法可用来快速回滚它对系统数据库所做的更改。这就是为什么在应用此热修复程序之前备份系统数据库非常重要的原因所在。

如果必须从此热修复程序回滚,并且您的安装日志文件(或 INF 文件)表明热修复程序确实对您的服务器运行了一个或多个 .sql 脚本,则您必须按以下步骤操作:

重要说明:下列步骤涉及重建 master 数据库和将其从您在应用此热修复程序之前进行的主备份中还原。如果在应用此热修复程序之后创建了一些新用户数据库,则现在您必须备份这些用户数据库,以便在完成下面的步骤之后能够还原这些数据库:
  1. 分离所有的用户数据库。有关更多信息,请参见“SQL Server 7.0 联机图书”中的“Attaching and Detaching Databases”主题,或“SQL Server 2000 联机图书”中的“How to attach and detach a database (Enterprise Manager)”主题。
    备注:如果复制中涉及到了一些数据库,则您必须首先禁用发布和分发。有关更多信息,请参见“SQL Server 联机图书”中的“Disabling Publishing and Distribution”主题。
  2. 停止所有的 SQL Server 服务(即:MSSQLServer、SQLServerAgent、Microsoft Distributed Transaction Coordinator [MS-DTC]、Microsoft Search)。
  3. 作为一种安全措施,把 Data 文件夹复制到一个安全的位置。如果您的数据和日志文件在一个独立的文件夹中,而不是在默认的 Data 文件夹中,那么也要复制这些文件。
  4. 搜索计算机找到备份文件夹,并将所有文件的新版本替换为旧版本。
  5. 重建 master 数据库。
  6. mastermodelmsdb 数据库从您应用此热修复程序之前做的备份中还原。这将自动连接您创建备份时所有连接的用户数据库。连接在最后一次备份 master 数据库之后创建的任何用户数据库。
  7. 如果您有全文目录,请还原这些全文目录并重新同步它们。有关更多信息,请参见以下 Microsoft 知识库文章:
    240867 INF:How to Move, Copy, and Back Up Full-Text Catalog Folders and Files
  8. 如果使用复制,则必须重新手动配置复制。
  9. 如果使用 SQL Mail,请重新配置 SQL Mail。有关详细信息,请参见 Microsoft 知识库中的以下文章:
    263556 INF:How to Configure SQL Mail

属性

文章编号: 330391 - 最后修改: 2004年3月10日 - 修订: 2.1
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 7.0 标准版
关键字:?
kbinfo KB330391
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com