HOW TO:对 SQL Server 桌面引擎 2000 安装和升级进行故障排查

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

本文内容

概要

SQL Server 2000 桌面引擎(也叫 MSDE 2000)是一个数据引擎,它是基于核心 SQL Server 技术构建的。MSDE 2000 支持单处理器和双处理器的桌面计算机,它是桌面机上使用的企业级应用程序的一个可靠的存储引擎和查询处理器。由于 SQL Server 和 MSDE 2000 有共同的技术基础,开发人员可以构建能够平稳地从便携式计算机过渡到多处理器群集的应用程序。

本文包括关于 MSDE 2000 在下列几部分的一般性信息。
  • 如何安装 MSDE 2000。
  • 如何对独立 MSDE 2000 安装进行故障排查。
  • 如何对将 MSDE 2000 作为合并模块的嵌入式安装进行故障排查
  • 如何使用 Microsoft .msp 文件将 MSDE 2000 升级到某一 Service Pack 级别。
  • 如何将 MSDE 2000 合并模块升级到某一 Service Pack 级别。

如何安装 MSDE 2000

安装 MSDE 2000 的方法有很多,可以大致将它们分为两种安装:

  • 独立 MSDE 2000 安装。- 或 -

  • 使用 MSDE 2000 合并模块的自定义安装。
下面详细介绍每种安装方法。

下面是三种独立 MSDE 2000 安装方式:

  • 使用引导程序 Setup.exe 文件。Setup.exe 文件是 Msiexec.exe 文件的一个引导程序。此引导程序随 Sqlrun.cab 和所有 Windows Installer 软件包一起提供。它可以检测已安装的实例,并自动从包括 16 个软件包的套件包中选择安装新的 MSDE 2000 实例。MSDE 2000 最多可以有 16 个 .msi 文件。每个 .msi 文件都是一个单独的软件包,让您能够安装一个 MSDE 2000 实例。

    如果使用 Setup.exe 文件安装 MSDE 2000,您可以打开详细日志记录选项以备进行故障排查。例如,您可以运行脚本
    D:\MSDE2000\>Setup.exe /Settings D:\MSDE2000\Setup.ini /L*v C:\MSDE_setup.log
    自动从 16 个软件包中选择要安装的实例,在此安装过程中,将使用 Setup.ini 配置文件中的参数,并生成名为 MSDE_setup.log 的详细安装日志。

    备注:此例假设 MSDE 2000 安装文件夹在驱动器 D 上。

    -或者-

    如要指定一个 .msi 文件,您可以运行下面的示例命令:

    D:\MSDE2000\>Setup.exe /Settings D:\MSDE2000\Setup.ini /i D:\MSDE2000\Setup\Sqlrun01.msi /L*v C:\MSDE_setup.log
    您可以在 Setup.ini 配置文件中指定每一个 SQL Server 的安装参数,也可以在命令行传入这些参数。它们被称为外部属性,因为它们是命令行参数。有关详细信息,请参阅下面的 Microsoft 知识库文章:
    281983 PRB:Cannot Specify Instance Name Using SQL Server 2000 Merge Modules
  • Setup.exe 文件是 Msiexec.exe 文件的一个引导程序。此引导程序随 Sqlrun.cab 和所有 Windows Installer 程序包一起提供。它可以检测安装的实例,并自动从包括 16 个程序包的套件包中选择安装新的 MSDE 2000 实例。MSDE 2000 最多可以有 16 个 .msi 文件。每个 .msi 文件都是一个单独的软件包,让您能够安装一个 MSDE 2000 实例。使用 Windows Installer Msiexec.exe 文件。Msiexec.exe 文件是用来解释软件包和安装产品的 Windows Installer 引擎。它与前面提到的 Setup.exe 文件不同。Msiexec.exe 并不自动检测安装的实例。它只为单个命名实例的安装启动一个特定编号的独立 Windows Installer 软件包。

    注意 Msiexec.exe 还设置了一个返回错误级别,它对应于 Microsoft Win32 错误代码。请参见 Windows Installer 帮助文件中的一个完整列表,它描述了此程序的所有命令行选项。

    如果您的计算机没有 Windows Installer,运行 Windows Installer 可执行程序即可安装它。Windows Installer 可执行程序位于 MSDE 2000 可再分发软件包的 MSI 文件夹下。


    如要从命令行安装或配置一个自定义应用程序 Windows Installer 软件包,请使用 /i 参数选项。例如:
    Msiexec.exe /i D:\MSDE2000\Setup\Sqlrun01.msi /l*v C:\MSDE_setup.log
    备注:此例假设 MSDE 2000 安装程序在驱动器 D 上。

    用户属性在命令行上是作为可选项提供的。

  • Setup.exe 文件是 Msiexec.exe 文件的一个引导程序。此引导程序随 Sqlrun.cab 和所有 Windows Installer 程序包一起提供。它可以检测安装的实例,并自动从包括 16 个程序包的套件包中选择安装新的 MSDE 2000 实例。MSDE 2000 最多可以有 16 个 .msi 文件。每个 .msi 文件都是一个单独的软件包,让您能够安装一个 MSDE 2000 实例。在自定义应用程序中使用集成的独立 MSDE 2000。在自定义应用程序中您也可以使用独立 MSDE 2000,在这种情况下,您可以启动 Setup.exe 引导程序,也可以启动单独编号的 Windows Installer 软件包中的一个,这一点是独立于自定义应用程序的。实际上,自定义应用程序和 MSDE 2000 安装是一起提供的。在这种情况下,您无法使用 Windows Installer 开发自定义应用程序,因为 MSDE 2000 不支持嵌套安装。换句话说,您无法作为一种自定义操作调用在另一个 Windows Installer 文件中的 Windows Installer 文件,因为在 MSDE 2000 中不支持这类操作。不允许启动 Msiexec.exe 进程来嵌套有编号的独立 MSI 软件包的安装。有关详细信息,请参阅下面的 Microsoft 知识库文章:
    307196 PRB:SQL Server 2000 Desktop Engine Error Message:"Error 126 loading library sqlcax.dll"
    如果您需要启动 Setup.exe 引导程序,或启动分别编号的 Windows Installer 软件包之一,这些操作必须独立于自定义应用程序。这一集成不会嵌入 MSDE 2000 合并模块,您必须在安装 MSDE 2000 之前或之后(不是同时)安装自定义应用程序。自定义应用程序和独立 MSDE 2000 安装程序是彼此独立的,都有其各自的产品代码。为实现这一点,您必须使用一个更高级别的安装启动程序(不是基于 Windows Installer),此启动程序将自定义应用程序和独立 MSDE 包装起来,然后彼此独立地打开它们。
  • 以合并模块嵌入 MSDE 2000

    您也可以考虑将 MSDE 2000 合并模块嵌入到自定义应用程序的安装中。Embedded MSDE Adaptation 安装可将自定义应用程序和 MSDE 2000 组件结合成使用单个产品代码的单个产品中。此方式还允许同时安装这两个部分,而且整个实现可以基于 Windows Installer。

为了排查 MSDE 2000 安装问题,您可以在 MSDE 2000 安装过程中打开日志记录。

如果安装失败,可找到日志文件,然后搜索所有存在的“返回值 3”。“返回值 3”是针对一项操作返回的一个严重的错误。根据失败的操作,您可以进一步确定 MSDE 2000 安装程序失败的原因。

下表列出了 MSDE 2000 安装程序日志文件中的命令返回代码。

收起该表格展开该表格
返回代码意义
1成功
2用户取消
3不可恢复的错误
4安装被挂起等待重新启动
下面是安装 MSDE 时可能失败的自定义操作的列表:

  • ConfigServer.2D02443E_7002_4C0B_ABC9_EAB2C064397B
  • InstallSqlRedis.2D02443E_7002_4C0B_ABC9_EAB2C064397B
  • InstallDTC.2D02443E_7002_4C0B_ABC9_EAB2C064397B
下面是在运行 MSDE 2000 安装程序时可能遇到的常见问题的列表:
  • 您在安装了 SQL Server 7.0 的计算机上收到一条错误消息。如果您的计算机上安装了 SQL Server 7.0 客户端工具,MSDE 2000 安装程序将返回下面的错误消息:
    Loading extended custom action library sqlcax.dll
    Starting custom action SkuIt
    An internal error occurred during install (failed to load package id).Contact Microsoft Technical Support.
    Action ended xx:xx:xx:InstallFinalize.Return value 3.
    请参见下面的 Microsoft 知识库文章,以获取关于如何重命名 Sqlboot.dll 文件的信息:
    275307 BUG:Installation of SQL Server 2000 Desktop Engine Fails on Computers That Already Have SQL Server 7.0 Tools Installed
  • 如果您的计算机上安装了 SQL Server 7.0 客户端工具且 MSDE 2000 安装程序返回了此错误消息。在您运行脚本文件或配置 SQL Server 时收到一条错误消息。如果您的安装程序失败,而且在运行脚本文件或配置 SQL Server 收到一条错误消息,则此问题可能是由于 MDAC 组件安装失败造成的。在运行脚本文件或配置 SQL Server 之前,安装程序必须连接到 SQL Server。如果在 MSDE 2000 安装的早期阶段 MDAC 组件未能正确安装,连接将失败,安装程序也将失败,您会收到一个错误消息。您可以检查 Dasetup.log 文件,它是 MDAC 安装程序的报告文件。Dasetup.log 位于 SystemRoot\Winnt 或 SystemRoot\Windows\ 文件夹中。Microsoft 建议您检查是否能够在您的计算机上成功安装 MDAC 2.6 或 MDAC 2.6 及其必要的 Service Pack。

    如想了解您的计算机上安装了何种 MDAC 版本,可以使用 Component Checker 工具。如要下载 Component Checker 工具,请访问下面的 Microsoft Web 站点:

    http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28001860

  • 如果您的计算机上安装了 SQL Server 7.0 客户端工具且 MSDE 2000 安装程序返回此错误消息。安装过程将失败,您将收到一条错误消息,指出您使用了一个不正确的登录帐户或使用了一个没有足够文件权限的 Microsoft Windows 帐户。如果您尝试安装一个 MSDE 2000 实例而且安装过程失败(比如因为指定了一个不正确的登录帐户或使用了一个没有足够文件权限的 Microsoft Windows 帐户),您可能需要在纠正错误后继续执行安装程序。这包括使用 MSDE 2000 安装程序或使用 Windows Installer 安装过程中的 MSDE 2000 合并模块进行的安装。

    在恢复执行安装过程时,除了在最初的安装尝试中指定的选项以外,您必须再指定两个安装选项。

    例如:
    REINSTALL=All 
    
    -and-
    
    REINSTALLMODE={ omus | a }
    					
    REINSTALL=ALL,意思是 Windows Installer 将安装所有的 MSDE 2000 功能。此参数唯一支持的值是 ALL。REINSTALLMODE=omus,指定由 MSDE 2000 安装程序或 Windows Installer 执行的处理级别。

    在恢复执行失败的安装程序时应指定 REINSTALLMODE=omus。使用此选项将确认并完成整个安装过程。在您只需要重建 master 数据库时(如在包含 master 数据库的磁盘发生故障后)指定 REINSTALLMODE=a。

    备注:在重新安装之前,您必须备份所有数据,因为重新安装过程将覆盖所有的系统数据库。在重新安装 MSDE 2000 的实例时,指定的实例名称必须与最初安装中使用的名称相同。

  • 您的计算机上如果安装了 SQL Server 7.0 客户端工具且 MSDE 2000 安装程序返回了此错误消息,则会回滚安装过程。在 MSDE 2000 安装程序失败时,它可能会回滚安装过程。回滚过程可能导致删除一些安装日志。例如,在回滚过程中,Install 文件夹中的 Cnfgsvr.out 文件将被删除。为排查 MSDE 2000 安装程序故障,您可以禁用回滚功能以便收集安装程序输出文件。下面是禁用回滚功能的一个示例命令:
    D:\MSDE2000\>Setup.exe DISABLEROLLBACK=1 /L*v C:\MSDE_setup.log

  • 如果您的计算机上安装了 SQL Server 7.0 客户端工具且 MSDE 2000 安装程序返回了此错误消息。当您在安装了证书服务器的计算机上安装 MSDE 2000 时将出现一个错误消息。如果证书服务器安装在运行 Microsoft Windows 2000 的计算机上,且证书颁发机构 (CA) 名称与机器主机名相同或以机器主机名开头,那么您的 MSDE 2000 安装程序将失败,您会收到下面的错误消息:
    Setup failed to configure the server.Refer to the server error logs and setup error logs for more information.

    此问题最早是在 SQL Server 2000 Service Pack 1 中纠正的。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    302409 FIX:Unable to Connect to SQL Server 2000 When Certificate Authority Name Is the Same As the Host Name of the Windows 2000 Computer

  • 如果您的计算机上安装了 SQL Server 7.0 客户端工具且 MSDE 2000 安装程序返回了此错误消息。您在安装了 SQL Server Service Pack 的较新版本的计算机上收到一条错误消息。如果您安装了 MSDE 2000 和任何 SQL Server 2000 Service Pack,您的安装程序可能会失败,并将收到下面的错误消息:
    LoadLibrary failed for [path]\Binn\SEMNT.DLL. GetLastError() returned: 126
    - 和 -
    Microsoft SQL Server Desktop Engine -- Installation operation failed.
    此问题最早是在 SQL Server 200 Service Pack 1 中纠正的。

    有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    299351 BUG:MSDE Installation Fails on Systems That Have SQL Server 2000 Service Pack 1 or 2 Installed

对将 MSDE 2000 作为合并模块的嵌入式安装进行故障排查

MSDE 2000 是作为一组 Windows Installer 合并模块提供的,独立软件供应商 (ISV) 可以使用它们在其自己的安装过程中安装“SQL Server 2000 桌面引擎”的一个实例。通过使用提供的 Windows Installer 安装程序开发工具可以将这些模块合并到 ISV 安装程序中。MSDE 2000 合并模块位于您的 MSDE 2000 CD 中的 Msm 文件夹中。

您可以通过创建您自己的 .msi 文件,将 MSDE 2000 合并模块(.msm 文件)嵌入到基于 Windows Installer 的安装应用程序中。通过自定义 MSDE 2000 安装程序,使之不安装您的应用程序不需要的 SQL Server 2000 组件,可以减少您的应用程序占用的磁盘空间。您可以略去 DMO*.msm 文件、Repl*.msm 文件,或将两者都略去。它们分别是用于 SQL-DMO 和复制的合并模块。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
299795 INF:How to Author MSDE 2.0 Setup Packages with Microsoft Visual Studio Installer 1.1
有关将 MSDE 嵌入自定义应用程序中的信息,请参见下面的 Microsoft 知识库文章:
325004 HOW TO:Author MSDE 2000 Setup Packages by Using Visual Studio .NET
有关更多信息,请访问下面的 Microsoft Web 站点:
Embedding MSDE 2000 Setup Into Custom Applications Setup


将 MSDE 2000 安装程序嵌入到自定义应用程序的安装程序中


将 MSDE 2000 与您的应用程序集成
您必须在属性表中为 MSDE 2000 合并模块添加一些内部属性。例如,您可以在属性表中为 INSTANCENAME 添加一个条目,然后指定一个名称。您可以用同样的方法为 SECURITYMODE 添加一个条目。不过您必须在主安装包中进行这些更改,而不是在 SQL Server 2000 MSDE 合并模块中。您可以通过在主 MSI 文件中创建自定义操作将这些属性中的每一个映射到合并模块中的一个内部属性。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
281983 PRB:Cannot Specify Instance Name Using SQL Server 2000 Merge Modules
如果您在使用任何第三方软件或创作工具创建安装程序包时遇到任何技术问题,请与第三方软件公司联系,以获取技术支持。

用 Microsoft 提供的 MSP 修补程序包将 MSDE 2000 升级到某一 Service Pack 级别

如果您是使用 Microsoft 提供的 .msi 文件安装 MSDE 2000 的,您就可以通过应用 .msp 修补文件将现有的 MSDE 2000 升级到某一 Service Pack 级别。您必须首先弄清 MSDE 2000 安装程序使用的是哪一个 .msi 文件。这一点非常重要,因为您必须使用特定的修补程序包 (.msp) 将 Service Pack 应用到现有的 MSDE 2000 安装中。例如,如果您是使用 Sqlrun01.msi 安装原来的 MSDE 2000 文件的,那么必须使用 Sqlrun01.msp 才能将其升级到 Service Pack 2 (SP2)。如果是 sqlrun02.msi,则必须使用 Sqlrun02.msp,依此类推。

有关详细信息,请参见 Microsoft 知识库中的以下文章:
311762 INF:How to Identify Which MSI File Was Used for an Existing MSDE Installation
例如,您可以通过运行下面的命令,使用一个 Setup.ini 文件中的参数并启用名为 MSDE_upgrade.log 的详细日志,来将 MSDE 2000 升级到 MSDE 2000 SP2:

D:\MSDE2KSP2\>setup.exe /settings D:\MSDE2KSP2\setup.ini /p SQLRUN /L*v C:\MSDE_upgrade.log

-或者-

如要指定一个 .msp 文件,您可以使用:

D:\MSDE2KSP2\>setup.exe /settings D:\MSDE2KSP2\setup.ini /p D:\MSDE2KSP2\setup\sqlrun01.msp /L*v C:\MSDE_upgrade.log

备注:本例假定 MSDE 2000 SP2 安装在驱动器 D 上。


您也可以禁用回滚或启用重新安装模式,以便对 MSDE 2000 向 Service Pack 级别的升级进行故障排查。有关 ROLLBACK(回滚)、REINSTALL(重新安装)和 REINSTALLMODE(重新安装模式)的更多信息,请参阅本文的 部分。

在运行 Microsoft Windows 98 的计算机上尝试将 MSDE 2000 升级到某一 Service Pack 级别时,为避免出现
Unable to run script files.

这一错误消息,请确保使用了 UPGRADEUSER=sa 参数。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
303680 PRB:SQL Srv.2000 MSDE Service Pack 1 Setup on Windows 98 Fails

将 MSDE 2000 合并模块升级到某一 Service Pack 级别

您可以考虑小幅升级,即把 MSDE 2000 合并模块升级到某一 Service Pack 级别。此升级将更改作为一个完整产品安装包或一个修补程序包提供的软件包的包代码和产品版本。在小幅升级中,产品代码不变。不过,小幅升级不能为新版本使用不同卷标。

产品版本的变化表明到同一产品的不同更新版本有一定的顺序。例如,如果现有的一个修补程序可将 9.0 版升级到 9.1 版,另一个修补程序可将 9.1 版升级到 9.2 版,则安装程序将通过在应用修补程序之前检查产品版本而强制执行正确的升级顺序。这也防止了将 9.2 版修补程序应用到 9.0 版。对于修补程序,此排序是通过产品版本验证位执行的,版本验证位在修补程序包中包括的转换表中设置。

有关如何为 Microsoft SQL Server 2000 桌面引擎 (MSDE 2000) sample.msi 创建修补文件的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
314131 HOW TO:*Create Patch Files (Service Packs) For MSDE 2000 Sample
如果将 MSDE 2000 作为合并模块随另一自定义应用程序安装程序 - 如 Microsoft Application Center 2000 - 一起安装,则必须与 Microsoft Application Center 2000 开发组联系,看是否有升级软件包可将您现有的 MSDE 2000 安装升级到某一 Service Pack 级别。有关将 MSDE 2000 用作合并模块的第三方自定义应用程序的信息,请与自定义应用程序供应商联系以获得支持。

属性

文章编号: 317328 - 最后修改: 2003年6月12日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
关键字:?
kbhowto kbhowtomaster KB317328
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 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