UML软件工程组织

安装 MS SQL Server 7.0

来源:microsoft 

Dave McVie MCSE

1998 年 11 月

Microsoft SQL Server 7.0 是最新版本的 SQL Server 关系数据库产品。SQL Server 7.0 的安装程序已经与较早版本的 SQL Server 安装程序有所不同。本文档的目的在于提供安装 Microsoft SQL Server 7.0 的相关信息。

为什么要使用新的安装程序?

  • 该产品的安装时间已经显著减少。
  • 提供了新的组件和子组件选项。
  • 新的基本结构提供了更加可靠的版本检查、文件复制和错误清除功能。
  • 增强和维护变得非常容易。
  • 使用新的安装程序,可以在多个平台上使用一个可执行文件。

如果在使用新安装程序时遇到错误,应当怎么办?

  • 在 Windows 目录中检查 Sqlstp.log 文件。
  • 检查 MSSQL7\Log 目录中的 SQL 错误日志和 MSSQL7\Install\ 目录中的 Cnfgsvr.out 文件。

如果安装失败并且无法确定原因,应当查找并保存 Windows 目录中的 Sqlstp.log 文件和 Mssql\Install\ 目录中的 Cnfgsvr.out 文件,以及在目标程序目录位置(例如 C:\Mssql7)留下的其它任何文件。特别要留意 Cnfgsvr.out 文件和 Mssql7\Log 目录中的任何错误日志。如果安装程序运行失败,它将把更改退回文件系统,包括删除任何被复制的文件,并删除对注册表的更改。

过程概述

这部分内容为您提供安装 SQL Server 7 需要知道的所有实际信息,如对服务器计算机的最小系统要求。这部分内容还提供对安装过程的高层次概述。

系统要求

  • 最少 183 MB 可用磁盘空间(但压缩安装只需要 30 MB)。
  • 使用 Intel 兼容的处理器或 DEC Alpha 处理器,不支持 Power PC 或 MIPS。
  • 使用 133 MHz 或更好的 Pentium、Pentium Pro 或 Pentium II 处理器。
  • 最少 32 MB RAM(但如果不进行任何复制,则只需要 16 MB)。
  • Microsoft Windows NT Server 4.0 Service Pack 4、Windows NT Workstation 4.0 Service Pack 4、Windows 95 或 Windows 98。
  • Microsoft Internet Explorer 4.01 SP1。
  • 如果想与 SQL Server 一起使用 Microsoft Systems Management Server,则需要 Systems Management Server 1.2 版本或更高版本。SQL Server 7.0 与早于 1.2 版本的 Systems Management Server 不兼容。

非必需的资源

  • 网络支持或 Microsoft 环回适配器。

运行安装程序

自动运行

将 SQL Server 7.0 CD 插入计算机时,就会进入 SQL Server 7.0 主安装屏幕。如果该屏幕没有出现,请浏览 CD 并双击 Autorun.exe 文件。该应用程序将显示相关的选项:阅读发行说明、浏览联机图书、连接到 Microsoft SQL Server Web 站点、安装产品和前提软件。安装 SQL Server 7.0 之前,应当先安装针对相应平台的前提软件。

安装完所有前提软件后,即准备就绪可继续 SQL Server 7.0 的安装。SQL Server 7.0 安装程序开始运行后,将检查是否能找到 ODBC 文件以便更新。如果有任何应用程序或服务正在使用 ODBC 驱动程序,将出现一个对话框,显示在继续安装之前应当停止的服务或应用程序。还会出现重试选项帮助确定这些 ODBC 文件是否“未锁定”。如果安装程序运行在“维护模式”中,则不需要再进行该项检查。

安装选项

用户将被提示选择三种安装选项之一:Typical、Minimum 或 Custom。“Typical”安装将把 SQL Server 二进制文件安装到 Mssql7 目录。“Typical”选项把数据设备安装在 Mssql7\Data 目录,并对 1433 端口使用命名管道和套接字监听。要更改这些默认设置,必须选择“Custom”安装选项。如果 SQL Server 安装程序检测到 SQL Server 6.x 已安装在计算机上,将在出现的对话框中显示“Upgrade”选项。下面列出了每种安装选项下将安装或不安装哪些组件:

Typical

  • 命名管道、TCP/IP 和多协议网络库
  • ISO 字符集 (1252)
  • 词典排序、不区分大小写的排序顺序
  • SQL Server Books Online
  • 安装到 Mssql7 目录

Minimum - 不安装

  • SQL Server Enterprise Manager
  • SQL Server Profiler
  • SQL Server Query Analyzer
  • Version Upgrade Wizard
  • Client Diagnostic Utilities
  • SQL Server Books Online
  • Replication 对象
  • MS DTC Client Support
  • 开发文件
  • 样本文件
  • Server Debug 符号

Custom

  • 提供对网络协议的选择,默认时已选中命名管道、TCP/IP 和多协议。NWLink IPX/SPX、AppleTalk ADSP 和 Banyan VINES 均为可用的选项。
  • 允许排序顺序选择。将斯堪的纳维亚语言划分为丹麦语/挪威语、冰岛语和瑞典语/芬兰语选项。放弃了与 1.x 版的严格兼容性以及可选词典选择。Unicode 排序规则默认为通用、区分大小写。还有 34 项其它选择。
  • 提供管理工具选择,但始终安装 BCP、ISQL、OSQL、ODBC 和 DB-Library。
  • 提供从磁盘或 CD 运行 SQL Server Books Online 的选择。
  • “Custom”安装包含开发文件,但默认时没有选中。
  • “Custom”安装包含全文检索,但默认时没有选中。

选择完组件后,安装程序就获得了继续运行的足够信息。安装程序将通知用户它已有了充足信息并开始继续安装。文件复制过程将把所有必需的文件移动到所选的安装路径和 Windows 目录中。如果已经安装了先前版本(6.0 或 6.5),则安装程序将试图停止 MSSQL 和 SQL Executive 服务。如果无法停止这些服务,系统将不把它当作致命错误,安装程序将继续运行。分布式事务处理协调器 (DTC) 由 DTC 包处理,它拥有自己的安装程序例程来停止服务并安装组件。

下一步是安装其它支持组件所需要的包。包括:Microsoft Data Access Components、Microsoft Management Console、MSDTC、HTML 帮助查看程序、DLT 磁带驱动程序以及 Monarch 全文搜索引擎。对包的选择取决于安装程序所运行的平台和用户所作的选择。每个包将自行把自己注册到操作系统和 SQL Server 安装程序。同时,还将添加与 SQL Server、SQL Agent 和 SQL Server 有关的组件的相应条目。

修改完注册表值后,系统路径被更新以便包括新的 Mssql7 条目,然后启动 SQL Server 服务。在 SQL Server 服务运行后,安装程序将运行 Cnfgsvr.exe 来设置初始的 SQL Server 配置。在进行安装程序选择时,如果选择了默认值以外的字符集或排序顺序,将用新的代码页、排序顺序和 Unicode 排序规则更新系统表。SQL Server 将在此时停止,然后重新启动,并且用跟踪标记对所有系统表重新进行索引。

执行完前面的所有步骤后,执行如下步骤:

  • 将 Windows NT Performance Monitor 条目添加到注册表。
  • 安装复制。
  • 创建程序组和图标。
  • 更新 Windows 目录中的 Setup.iss 文件。
  • 显示 Setup Completed 对话框。

创建信息文件

在安装期间,将生成下面这些信息文件,以便帮助定位任何可能发生的问题。如果在安装期间遇到任何困难,请保存在这些文件,并在其中检查可能的原因。

  • Windows\Sqlstp.log
  • C:\Mssql7\Log\Errorlog
  • C:\Mssql7\Install\Cnfgsvr.out

脚本

转到基于 InstallShield 的安装程序后,最重要的变化之一与无值守的安装和卸载有关。遗憾的是,在新的安装程序中,没有提供对现有 .ini 文件的转换或支持。对于每个现有的 .ini 文件,必须按下面的说明创建新的 .iss 文件。

无值守安装

要调用无值守的安装,必须首先生成 InstallShield .iss 文件。以 k=Rc 开关启动 SQL Server 安装程序,并按照对话框中给出的指导信息正常安装 SQL Server。这将导致安装程序在名为 Setup.iss 的文件中记录您的对话框选择内容,Setup.iss 位于 Windows 目录中,该操作并不会把 SQL Server 安装在本地计算机上。完成该过程后,此文件可以被移动或复制到其它位置,以便在其它服务器上使用。要进行随后的自动安装,请启动安装程序,并通过使用 -f1 安装命令行选项将以前生成的 .iss 文件指定为输入项。该命令的语法是:

Setupsql.exe -f1 <iss 文件的完整路径> -SMS -s

如果不指定 -SMS 开关,则基本的 InstallShield 安装程序进程 Sqlstp.exe 将启动一个进程来执行安装程序,并立即把控制权交回用户。开关 -s 使安装程序在静默模式中运行。

无值守卸载

要启动无值守卸载,请用 -y 开关运行 Isuninst.exe 来抑制卸载确认对话框。开关 -a 将抑制询问是否删除共享文件的对话框,而开关 -f 则使 UnInstallShield 指向在初始安装期间所生成的卸载脚本文件。文件“Isuninst.isu”创建于安装期间,可以在 MSSQL7 目录中找到。最后,请指定 SQL Server 卸载 .dll 文件名 (Sqlsun.dll),该 DLL 文件包含在卸载期间执行的特定 SQL Server 操作。下面是卸载命令的语法示例:

isuninst.exe -f <isu 文件的路径>\uninst.isu -cc:\mssql7\sqlsun.dll -y -a

注意 当试图在较早版本的 SQL Server 上卸载 SQL Server 时,安装程序会尝试终止正在运行的应用程序。该操作不会总是成功,并导致无法确定的行为。安装程序将立即终止任何正在运行的 SQL Server 服务,如果任何 SQL Server 7.0 应用程序还在运行并且无法终止,则会同时报告给用户。在运行卸载进程之前,用户必须通过手动或 Windows NT KILL 命令或 Net Stop 等工具,终止这些应用程序或服务。

示范安装序列

下面的范例显示了用来生成 setup.iss 文件的命令:

Setupsql -r "创建初始 iss 文件"
Copy c:\winnt\setup.iss to c:\myinstalls\sample.iss
Setupsql -f1 c:\myinstalls\sample.iss -SMS -s "使用 iss 文件进行无值守安装"

在 sqlstp.log 中检查是否需要重新启动,并在必要时重新启动。进行任何必要的验证操作。

示范卸载序列

如下范例显示卸载 SQL Server 7.0 所需的命令:

终止任何正在运行的 SQL Server 可执行文件(如 sqlmanager.exe)
isuninst.exe -f c:\mssql7\uninst.isu -cc:\mssql7\sqlsun.dll -y -a

通过运行无值守安装所创建的 Sqlstp.log 文件返回错误代码

当运行无值守安装时,可能返回错误信息。您可能接收到的错误通过错误代码编号指定。下面是一列可能的错误代码编号及其解释。

  • 最普通的错误代码是 -12,因为用户将使用出现意外对话框时(由于系统处于某种情形下)所生成的 .iss 文件。
  • 如果没有使用 -f2 选项来指定该输出文件的路径,则它将放置在 Windows 根目录中。

    0 成功
    -1 常规错误
    -2 无效模式
    -3 在 Setup.iss 文件中没有找到必需的数据
    -4 没有足够的内存
    -5 文件不存在
    -6 无法写入响应文件
    -7 无法写入日志文件
    -8 InstallShield Silent 响应文件的路径无效
    -9 列表类型(字符串或数字)无效
    -10 数据类型无效
    -11 安装期间发生未知错误
    -12 对话框次序错误
    -51 无法创建指定的文件夹
    -52 无法访问指定的文件或文件夹
    -53 选择的选项无效

Windows 95/98 限制

由于系统受平台和性能问题的限制,Windows 95/98 安装没有如下功能:

  • 传入的命名管道连接
  • Windows NT 身份验证
  • 异步 IO
  • 基于事务的发布
  • 群集
  • 全文检索
  • 自动检测 unicode 文件
  • Windows NT 事件日志

其它工具

下面是可以使用的其它工具。除另有说明外,这些工具在所有平台上都可用。

Regrebld.exe - RegistryRebuild 实用程序(仅用于命令行)

当安装程序完成初始安装之后,将自动运行 Regrebld.exe。该操作将创建一个所有 Mssql7 注册表条目的镜像,并保存在文件 Mssql7*.rbk 中。运行 regrebld -Restore 将注册表项镜像放入注册表中。如果注册表项已经存在,它们将被覆盖。如果对 SQL Server 安装做了更改,注册表项的备份不会自动更新。这时,将需要手动重新运行 Regrebld.exe 来更新信息。添加额外的网络支持或更改安全选项之后,可能要考虑重新运行 regrebld。下面显示 Regrebld 命令的语法,以及它可以采用的有效参数:

F:\mssql7\BINN>regrebld /? Microsoft SQL Server 注册表重建程序接受如下命令行参数: -Backup <放置备份文件的目录(默认设置为与 regrebld.exe 相同的目录)> 如果备份文件已经存在,该操作将失败 -Restore <备份文件的目录位置(默认设置为与 regrebld.exe 相同的目录)> -ShortcutsOnly 1 <只能在恢复模式中使用> 无命令行参数表示使用备份进行全部注册表重建、重新创建快捷方式以及确认 WinNT 上的服务状态。在确认服务的状态时,应当始终从 SQL Server BINN 目录运行注册表重建。

Rebuildm.exe - 重建 Master 数据库

在如下对话框中的源目录指向原始 SQL Server 文件的所在位置(如发行 CD 或网络共享点)。

VSwitch.exe - 在 SQL Server 7.0 和 6.x 安装之间切换(仅 Windows NT)

要找到该实用程序,请单击开始按钮,指向程序,指向 Microsoft SQL Server - Switch,然后单击 SQL Server 7.0。该实用程序的用途是为从 SQL Server 6.x 转换到 7.0 的系统提供在 SQL Server 版本 6.x 和 7.0 之间的移动能力。该实用程序不允许这两个版本的 SQL Server 同时运行,并且只能在迁移阶段使用,而不能用在日常生产中。该实用程序将当前的注册表值复制到 MSSQLSERV6.x7.0 注册表项,然后将所需要的版本信息(6.x 或 7.0)移动到 MSSQLServer 条目。此外,它还更改 PATH 语句来反映 Mssql 或 Mssql7 目录信息。

远程安装

只有在 Windows NT 到 Windows NT 计算机上才支持远程安装程序,且双方计算机必须使用相同类型的处理器。群集 Windows NT Server 上不支持远程安装。远程安装只能用于新的安装。不支持升级、维护模式或版本内小型升级。

远程安装程序只在远程计算机上安装与正在源计算机上运行的 SQL Server 7.0 相同版本的 SQL Server 7.0。例如,如果在 Windows NT Server 计算机上运行的是 SQL Server 7.0 标准版本,并试图将 SQL Server 7.0 标准版远程安装到 Windows NT Workstation 计算机,则安装程序将失败,因为 Windows NT Workstation 仅支持标准 SQL Server 7.0 版的客户端安装(Windows NT Workstation 不支持 SQL Server 7.0 的桌面版)。请在本地计算机上使用与将安装在远程计算机上相同版本的 SQL Server。

在远程计算机上,所指定的用户帐户必须是管理员,并对为源文件指定的 UNC 路径具有读取权限。在远程安装过程中,在远程计算机上要将“按服务登录”权限授予该帐户。

“remsetup.exe”将所生成的 setup.iss 文件复制到 \\targetmachine\admin$,然后运行服务控制管理器来创建远程服务,因此,所提供的帐户在远程计算机上必须是管理员,因为它要创建服务并将文件复制到 admin$ 共享。

用户输入所有安装信息之后,安装程序将把该信息记录在 iss 文件中。然后,安装程序在本地计算机上启动 remsetup.exe 然后退出。 Remsetup.exe 将在远程计算机上安装远程服务、将所有文件复制到 admin$ 共享并运行无值守安装。

常见问题

  • 如何启动无值守安装程序?

    要启动无值守安装,必须先生成 .iss 文件。使用 -r 选项启动 SQL Server 安装程序,然后交互地作出相应的选择并运行完安装程序,即可以创建该文件。成功完成安装后,将在 Windows 目录中出现一个 Setup.iss 文件。如果需要,可以将该文件复制或移动到另一个位置。在以后的安装中,可以启动安装程序,并使用 -f1 安装程序的命令行选项将以前生成的 .iss 文件指定为输入文件。有关脚本的详细信息,请参阅本文档前面的“脚本”部分。

  • 怎样卸载 SQL Server 7.0?

    有三种方法卸载 SQL Server 7.0:

    • 开始菜单上,指向程序,然后指向 Microsoft SQL Server 7.0 并单击 Uninstall SQL Server 7.0
    • 开始菜单上,指向设置并单击控制面板。双击添加/删除程序。从列表中选择 Microsoft SQL Server 7.0,然后单击“添加/删除”。
    • 运行脚本式卸载。有关如何进行该操作的详细信息,请参阅本文档前面的“脚本”部分。
  • 怎样启动无值守卸载?

    作为一次成功的安装,其成果之一是生成了卸载脚本文件,该文件称为 Uninst.isu,位于程序文件的安装目录。要启动无值守卸载,必须启动名为 Isuninst.exe 的 UnInstallShield 可执行文件,并将它引导到卸载脚本文件。有关如何进行该操作的详细信息,请参阅本文档前面的“脚本”部分。

  • 为什么丢失了对话框选择内容?无论什么时候将信息键入对话框,当单击“上一步”然后再次单击“下一步”时,在对话框中键入的信息就丢失了。为什么会这样?

    这是由于 InstallShield 对话框所致。遗憾的是,目前没有解决办法,只能再次重新键入原来的文本。

  • 如果安装不成功,我需要做什么?

    如果安装失败,而您无法判断原因,请在 Windows 目录中查找并保存 Sqlstp.log 文件以及在目标程序目录位置(如 C:\Mssql7)中所留下的所有其它文件。特别要留意 Cnfgsvr.out 文件和 Mssql7\Log 目录中的任何错误日志。

  • 如何重建注册表?如何重建 Master 数据库?如何重新配置服务器网络协议?

    重建注册表、重建 Master 数据库和配置网络协议的功能已从 SQL Server 安装程序代码中删除。但是,将通过新的实用程序提供这些功能。

  • 为什么在卸载该程序之前必须先退出 SQL Server Service Manager?在以前版本的 SQL Server 中,当启动卸载程序时,安装程序会终止 SQL Server Service Manager。现在,我遇到错误信息,通知我必须退出该应用程序。为什么会这样,为什么安装程序不能为我关闭该应用程序?

    在以前版本的 SQL Server 中,安装程序会尝试关闭这些服务,但不能完全保证成功。现在对此作了更改,必须手动关闭应用程序。

  • 卸载产品时,为什么一些目录没有删除?为什么最后的卸载报告始终报告它无法删除文件夹?

    UnInstallShiled 安装程序仅删除它安装的文件。通常,这是正确的行为。但是,在 InstallShield 安装的范围以外还创建了一些文件(如 tempdb)。当 InstallShield 卸载程序运行时,将删除其所创建的文件夹(Mssql7、Binn、Data 和 Log),却发现这些文件夹不为空。但是,UnInstallShield 完成后所运行的 .dll (Sqlsun.dll) 将删除 tempdb 等文件和这些文件夹。

    注意 如果错误日志、跟踪文件或用户数据依然留在这些目录中,则它们将不被删除。

 

版权所有:UML软件工程组织