还原缺少Windows安装程序缓存文件并修复SQL Server更新期间发生的问题

原始产品版本:SQL Server
原始 KB 数: 969052

总结

本文介绍了针对安装 Microsoft SQL Server 更新时发生的 MSI 缺失错误的几种解决方案。 当Windows安装程序缓存缺少用于SQL Server的 MSI 或 MSP 文件时,累积更新、Service Pack 安装、修复操作和卸载可能会失败。 本文介绍如何识别缺少的文件,从原始安装介质或更新包还原这些文件,并修复生成的SQL Server安装错误。 本指南适用于当前支持的SQL Server版本(SQL Server 2016 及更高版本),以及应用相同Windows安装程序行为的较旧版本。

现象

安装SQL Server Service Pack 或累积更新时,可能会看到指向Windows安装程序缓存问题的错误消息或意外行为。 Windows Installer 缓存位于 C:\Windows\Installer 文件夹中,存储通过 Windows Installer 安装的应用程序的关键文件。 如果缓存遭到入侵(例如通过手动文件删除),则在卸载、修复或更新SQL Server之前,可能不会看到问题。

错误消息

下面是可能会遇到的一些可能错误消息。 通常,会看到以下输出之一:

SQL Server Setup has encountered the following error:

The cached MSI file 'C:\Windows\Installer\xxxxxx.msi' is missing. The original file is 'sql_xxxxx.msi' for product SQL Server 2017 Database Engine Services from 'D:\SQLSetup', version XXXX, language XXX. To resolve this problem, recover the missing file from the installation media and start setup again.
The following error has occurred:

Unable to open Windows installer file 'C:\Windows\Installer\xxxxxx.msi'

Click 'Retry' to retry the failed action, or click 'Cancel' to cancel this action and continue setup.
No valid sequence could be found for the set of updates. Error code 1648
 The cached patch file "C:\Windows\Installer\xxxxxxx.msp" is missing. The original file for this cached file is "xxx_xxxx_xxxxxx.msp", which can be installed from "Hotfix xxxxx for SQL Server 20xx (KBxxxxxx) (64-bit)",

如果检查 Detail.txt 设置日志,可能会找到如下消息:

Slp: Package ID sql_xxx_xxx_xxx: NotInstalled
Slp: Sco: File 'X:\x64\setup\x64\xxx_xxx_xxx.msi' does not exist
Slp: Sco: File 'X:\x64\setup\x64\xxx_xxx_xxx.msi' does not exist

如果检查组件设置日志,可能会发现以下错误,其中 OS 错误 3 (或 -2147287038) 表示 %1 could not be found.

MSI (s)  Note: 1: 2203 2: I:\xxxxxxx.msi 3: -2147287038
MSI (s)  Source is incorrect. Unable to open or validate MSI package I:\xxxxxxx.msi.
MSI (s)  Note: 1: 2203 2: H:\xxxxxxx.msi 3: -2147287038
MSI (s)  Source is incorrect. Unable to open or validate MSI package H:\xxxxxxx.msi.
MSI (s)  Note: 1: 2203 2: I:\xxxxxxx.msi 3: -2147287038
MSI (s)  Source is incorrect. Unable to open or validate MSI package I:\xxxxxxx.msi.

异常行为

你可能会观察到以下行为之一作为症状:

  • 你可能会注意到,要升级的特定功能不会显示在升级向导中。
  • 您尝试执行升级(包括版本升级),但不会发生任何更改。

原因

当 Windows Installer 数据库文件(.msi)或 Windows Installer 补丁文件(.msp)从位于 %windir%\Installer 的 Windows Installer 缓存中丢失时,就会出现这些问题。

使用 Windows Installer 安装产品时,进程会将原始 .msi 文件的剥离版本存储在缓存中。 每个产品更新(如修补程序、累积更新或 Service Pack)也会将相关 .msp.msi 文件存储在缓存中。

产品的任何将来更新都依赖于缓存文件中的信息。 如果没有它,新更新将无法执行所需的转换。

由于SQL Server使用Windows安装程序,因此此问题也会影响SQL Server。 SQL Server 安装包(其中可包括 .msi.msp 文件)存储在 Windows Installer 缓存中,并且是卸载和更新操作所必需的。 缓存的文件对每台计算机都是唯一的,无法从另一台计算机复制它们。

警告

Windows在应用程序安装和更新包时自动管理 Installer 缓存目录(%windir%\Installer)。 此目录中的手动更改可能会导致问题,包括本文中所述的问题。

解决方案 1:修复 SQL Server 安装

在尝试本文中的其他解决方案之前,请使用修复过程检查当前安装:

对于以前的版本:

使用以下命令从原始安装介质运行修复:

setup.exe /ACTION=REPAIR /INDICATEPROGRESS=TRUE

首先修复常见的共享组件和功能,然后重复该命令以修复已安装的实例。 在此过程中,安装对话框将消失。 只要进度窗口未显示错误,修复将按预期运行。 如果缺少特定组件的缓存文件,修复将失败并出现错误。

解决方案 2:使用 FixMissingMSI 工具还原缺少的缓存文件

FixMissingMSI 工具扫描Windows安装程序缓存,报告缺少 MSI 和 MSP 文件,并且可以在一步中从原始媒体位置中将其收回。

下载 FixMissingMSI 工具

从 GitHub 上的 SQLSetupTools 发布页面下载 FixMissingMSI 工具。

使用 FixMissingMSI 工具

FixMissingMSI 是一种图形用户界面(GUI)工具,可帮助你快速查找和修复缺少的 MSI 和 MSP 文件。 若要使用它,请执行以下步骤:

  1. 准备或找到需要修复的每个SQL Server版本的安装介质。

  2. 在本地下载并提取缺少 MSI 或 MSP 文件的计算机上的媒体。 对 RTM、Service Pack 和累积更新使用单独的文件夹。 例如:

    c:\sqlsetup\RTM2017
    c:\sqlsetup\CU31
    
    1. 如果您下载了累积更新或服务包,请确保使用 /X 选项将其解压到某个文件夹中。 例如:

      SQLServer2016SP3-KB5003279-x64-ENU.exe /X
      
    2. 选择要在其中提取文件的目录,例如 c:\sqlsetup\SQL2016SP3

  3. 打开 FixMissingMSI.exe

  4. “扫描 ”对话框中,输入在步骤 2(例如), D:\sqlsetup\RTM2017顶部文本框中下载安装文件的文件夹。

  5. 扫描筛选器中,保留默认值 产品名称包含:SQL

  6. 选择“ 立即扫描”。

  7. 状态列显示“缺失”的任何行都以红色突出显示。

  8. 若要修复单个文件,请选择其行开头的“ 修复它 ”按钮。

    FixMissingMSI 工具的屏幕截图。

  9. 若要修复每个缺少的 MSI 或 MSP,请选择 “修复 ”菜单,然后选择“ 全部修复”。

FixMissingMSI 也适用于非SQL Server产品,因此你可以使用同一工具来修复计算机上的其他应用程序的Windows安装程序缓存问题。

解决方案 3:使用 FindSQLInstalls.vbs 脚本

在开始之前,请将 SQLSetupTools GitHub 存储库FixMissingMSI 文件夹里的 FindSQLInstalls.vbs 脚本复制到要更新 SQL Server 的计算机上的本地文件夹中。

注意

FindSQLInstalls.vbs 脚本收集包信息并标识无效的包路径。 它针对源位置运行,以确认所有 MSP 包都位于 Windows Installer 缓存目录中。 运行脚本输出中行中显示的 Action needed 命令后,如果原始源媒体可用,则会重新添加缺少的包。

若要使用脚本解决问题,请执行以下步骤:

  1. 转到 GitHub 上的 FindSQLInstalls.vbs 原始文件

  2. 将页面上的所有内容复制到新的文本文件。

  3. 将文本文件另存为 FindSQLInstalls.vbs.

  4. 在保存了 FindSQLInstalls.vbs 的目录中打开提升权限的命令提示符,然后运行该脚本。

    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
    
  5. 在文本编辑器(如记事本)中打开输出文件,并找到导致失败的问题。 在文本文件中搜索以下字符串模式:

    • do not
    • !!!
  6. 根据结果执行所需的操作。

    注意

    有关这些步骤的详细信息,请参阅 FindSQLInstalls.vbs 示例 部分。

  7. 重复步骤 2 到 4,直到输出文件不再引用你正在更改的组件的无效路径或缺失文件。

FindSQLInstalls.vbs 示例

以下示例显示了运行 FindSQLInstalls.vbs 脚本时生成的输出文件中概述的操作的条目和说明。

缺少安装程序文件

以下示例显示了当Windows Installer 缓存文件夹中缺少 .msi 包时获取的输出。

================================================================================
PRODUCT NAME : Microsoft SQL Server 2008 Database Engine Services  
================================================================================
Product Code: {9FFAE13C-6160-4DD0-A67A-DAC5994F81BD}
Version : 10.2.4000.0
Most Current Install Date: 20110211
Target Install Location:
Registry Path: HKEY_CLASSES_ROOT\Installer\Products\C31EAFF906160DD46AA7AD5C99F418DB\SourceList
Package : sql_engine_core_inst.msi
Install Source: \x64\setup\sql_engine_core_inst_msi\
LastUsedSource: m;1;G:\x64\setup\sql_engine_core_inst_msi\

LastUsedSource 行指向用于运行安装程序的位置。

在该行中LastUsedSourcem;,条目表示媒体,并指示原始源为 CD/DVD 媒体。

在以下示例中,源为 G 驱动器中的 CD 或 DVD。如果是从文件夹或网络共享进行安装,则 LastUsedSource 行以 n; 项开头,后面是 Numeric_Data_Name; 项,最后是实际路径:

!!!! sql_engine_core_inst.msi DOES NOT exist on the path in the path G:\x64\setup\sql_engine_core_inst_msi\ !!!!
Action needed, re-establish the path to G:\x64\setup\sql_engine_core_inst_msi\

Action needed 行显示了必须存在的完整路径,以便更新原始安装介质中缺失的文件:

安装程序缓存文件: C:\WINDOWS\Installer\19b4d2.msi

Installer Cache File 行确认安装程序缓存文件的名称:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

输出的以下部分显示了修复缺失文件所需的操作:

需要的操作,重新创建或重新建立目录的路径:G:\x64\setup\sql_engine_core_inst_msi\然后重新运行此脚本以更新安装程序缓存,结果上述行的路径必须存在于根位置,以解决未找到或损坏的 msi/msp 文件的问题,在某些情况下,可能需要手动复制缺失的文件或手动替换覆盖它的问题文件: 复制“G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi”C:\WINDOWS\Installer\19b4d2.msi如果系统提示,请替换现有文件。

缺失的补丁

缺少补丁会生成与前一个示例中的条目类似的条目。 大多数时候,你会看到引用修补程序的 Patch LastUsedSource 行上的条目,例如 Patch LastUsedSource: n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

此输出将告知有关修补程序安装的以下内容:

  • 通过双击修补程序的可执行文件来安装原始修补程序。
  • 安装期间,修补程序安装程序使用了临时文件夹 c:\0ca91e857a4f12dd390f0821a3
  • 若要重新创建路径,请运行相同的可执行文件并添加参数 /x:c:\0ca91e857a4f12dd390f0821a3

此命令强制可执行文件将文件提取到以前的缺失位置,并重新创建使用任何缺失文件更新 Windows 安装程序缓存所需的结构。 实际位置各不相同,单个修补程序(如服务包)可能需要解压到多个位置。 每个已安装的产品都包含一个部分,其中包含已安装修补程序的以下信息:

  • 显示名称:
  • 知识库文章 URL: http://support.microsoft.com/?kbid=<value>
  • Patch LastUsedSource:

KB 文章 URL 行可帮助你在需要时下载补丁介质。

解决方案 4:手动还原缺少的缓存文件

若要手动还原Windows安装程序缓存中缺少的文件,请完成以下步骤:

  1. 从错误消息、安装程序日志文件或Windows安装程序维护的注册表项中收集有关缺少的文件的完整详细信息。 例如, “症状 ”部分中的第一条错误消息已包含修复该问题所需的一切:

    • PatchName: “用于 SQL Server 2008 R2 的修补程序 1702(KB981355)(64 位)”
    • 修补程序使用的原始 MSP 文件: sql_engine_core_inst.msp
    • 缓存的 MSP 文件: c:\Windows\Installer\1fdb1aec.msp
  2. 如果您还没有掌握全部详细信息,请参阅用于收集这些信息的第一步。

  3. 前往 Microsoft 支持,搜索与此补丁相关的 KB 文章。 在此示例中,搜索 KB981355

  4. 将修补程序包下载到计算机。 请确保下载与所需平台匹配的包。 在此示例中,包为 SQLServer2008R2-KB981355-x64.exe.

  5. 使用以下语法提取补丁包的内容:

    C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\
    
  6. 查找原始 MSP 文件。 sql_engine_core_inst.msp 它应位于以下文件夹中:

    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\

  7. 将原始 MSP 文件复制到Windows安装程序缓存:

    %windir%\Installer\

  8. 将原始 MSP 文件 sql_engine_core_inst.msp重命名为缓存的 MSP 文件名 1fdb1aec.msp

启动触发错误的更新的安装程序,并恢复更新。 针对其他组件,或同一产品的另一次更新,如果缺少缓存文件,您可能还会再次看到此消息。

如果错误消息引用缺少的 Windows Installer 数据库文件(.msi),则无需执行步骤 2 到 4。 直接转到步骤 5。 您必须在用于安装该产品的原始介质上找到 .msi。 例如,如果报错对应的是 sql_engine_core_inst.msi,请在安装介质上的 \x64\setup\sql_engine_core_inst_msi\ 目录下找到此文件。 其他步骤相同。

查找缺少的 .msp 文件的修补程序包和产品详细信息

产品的不同版本会针对此问题生成不同的错误消息。 Symptoms 部分中的错误消息会出现在从 SQL Server 2008 SP1 开始的更新中。 其他更新可能会返回错误消息,这些错误消息无法清楚地标识缺少哪个修补程序文件或特定的更新详细信息。 在这些情况下,安装程序日志文件包含有关缺少Windows安装程序缓存文件的信息。 下面是一个示例设置日志:

MSI (s) (FC:F8) [13:48:58:649]: Opening existing patch 'C:\WINDOWS\Installer\145258.msp'.  
MSI (s) (FC:F8) [13:48:58:649]: Couldn't find local patch 'C:\WINDOWS\Installer\145258.msp'. Looking for it at its source.  
MSI (s) (FC:F8) [13:48:58:649]: Resolving Patch source.  
MSI (s) (FC:F8) [13:48:58:649]: Note: 1: 2203 2: D:\cda162709d239766830bae5ce12b\HotFixSQL\Files\sqlrun_sql.msp 3: -2147287037  
MSI (s) (FC:F8) [13:48:58:649]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.  
MSI (s) (FC:F8) [13:49:29:961]: Product: Microsoft SQL Server 2005 -- Installation failed.  
MSI (s) (FC:F8) [13:49:29:992]: MainEngineThread is returning 1635  
This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package. D:\SQL2K5\Servers\Setup\SqlRun_SQL.msi

如果你仔细查看安装日志,它已经告诉你该补丁使用的是哪个原始 MSP 文件:sqlrun_sql.msp

若要在 Windows Installer 缓存中查找有关缺少的 .msp 文件的更多详细信息,请执行以下操作:

  1. 在 Windows Installer Patches 注册表子项中查找丢失的 .msp 文件:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\

  2. 查找补丁 GUID

  3. 在 Windows Installer 产品注册表子项中搜索修补程序 GUID: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\

    在示例安装日志中,缺少的 .msp 文件及其对应的补丁详细信息显示在以下注册表项中:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\A3B085EA74A9A7640A496636F7EF9A44
    Value: 0
    Name: LocalPackage
    Data: `C:\WINDOWS\Installer\145258.msp
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
    Value: 6
    Name: DisplayName
    Data: GDR 2050 for SQL Server Database Services 2005 ENU (KB932555)
    
  4. 现在,你已获得修复Windows安装程序缓存中缺少的文件所需的信息。

    注意

    在 SQL Server 2008 SP3 及更高版本上,还可以获取有关缺少 .msi 文件的类似错误消息。 该消息会告诉您缺少的是哪个文件、需要下载哪个服务包,以及可从何处下载。

有关如何获取 Service Pack 的详细信息,请参阅 KB2546951 - SQL Server 2008 Service Pack 3

解决方案 5:从系统状态备份还原缺少的缓存

如果以前的解决方案不起作用,请从系统状态备份还原Windows安装程序缓存。 有关分步说明,请参阅 Windows Installer 缓存丢失需要重建计算机

故障排除提示

  • 始终使用原始安装介质的副本进行操作。 在将工具指向这些累积更新和服务包之前,请先使用 /X 选项提取它们。
  • 以管理员身份运行命令提示符和 PowerShell 会话。 扫描 %windir%\Installer 文件夹或重写缓存文件的工具需要提升的权限。
  • 还原缺少的文件后,请在重试更新之前再次运行SQL Server安装程序修复,以便对缓存进行端到端验证。
  • 如果在同一台计算机上反复出现缓存损坏,请检查是否存在会清理 C:\Windows\Installer 文件夹的第三方清理工具、组策略或备份代理。
  • 对于复杂的多实例服务器,或者如果在本文中尝试每个解决方案后缓存问题仍然存在,请通过Microsoft打开支持案例,以便工程部门可以查看设置日志。

按 SQL Server 版本发出的错误消息

以下错误消息在事件日志中显示为文本消息,或在下列文件夹之一的安装程序日志中显示。 它们指示在进一步操作之前应修复受影响的实例:

  • 对于 SQL Server 2008 和 SQL Server 2008 R2:C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • 对于 SQL Server 2012:C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
  • 对于 SQL Server 2016 及更高版本:C:\Program Files\Microsoft SQL Server\<nnn>\Setup Bootstrap\Log,其中 <nnn> 在 SQL Server 2016 中为 130,在 SQL Server 2017 中为 140,在 SQL Server 2019 中为 150,在 SQL Server 2022 中为 160

SQL Server 2005(所有分支)

  • 缺少安装程序包(MSI):

    1636 无法安装 Windows Installer MSI 文件

  • 缺少安装程序缓存包(MSP):

    1636 无法安装 Windows Installer MSP 文件

注意

查看安装日志文件,确定是否缺少任何缓存文件。 有关详细信息,请参阅 恢复SQL Server安装部分。

SQL Server 2008 SP1

  • 安装程序包(MSI)缺失:无错误消息。

  • 缺少安装程序缓存包(MSP):

    标题:SQL Server 安装失败。

    SQL Server 安装程序遇到错误: 无法打开修补程序文件。该文件为:c:\WINNT\Installer\FileName.msp。错误代码0x84B20001。

SQL Server 2008 SP3 仅限内部版本(不适用于 CU/GDR 分支)

  • 缺少安装程序包(MSI):

    缓存的 MSI 文件 C:\Windows\Installer\FileName.msi 缺失。 其原始文件为 sql_engine_core_inst.msi,该文件是为产品 SQL Server 2008 数据库引擎服务安装的,来源于 <NetworkPath>,版本为 <VersionNumber>,语言为 <ENU>。

  • 缺少安装程序缓存包(MSP):

    缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 此缓存文件的原始文件是 sql_engine_core_inst.msp,可从 Service Pack 3 for SQL Server 2008 (KB2546951) (64 位) 版本 VersionNumber <>安装。

注意

执行升级时收到以下错误消息:
错误消息的屏幕截图:SQL Server 2008 安装程序已停止工作。

仅限 SQL Server 2008 R2 SP1 (CU/GDR 分支不适用)

  • 缺少安装程序包(MSI):

    标题:SQL Server 安装失败。

    SQL Server 安装程序遇到以下错误: C:\Windows\Installer\FileName.msi

  • 缺少安装程序缓存包(MSP):

    缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 此缓存文件的原始文件是 sql_engine_core_inst_loc.msp,可从 SQL Server 2008 R2 Service Pack 1(KB2528583)(64 位)版本 <VersionNumber>中安装。

注意

执行升级时收到以下错误消息: 错误消息的屏幕截图:SQL Server 2008 R2 安装程序已停止工作。

SQL Server 2008 R2 SP2

  • 缺少安装程序包(MSI):

    缓存的 MSI 文件 C:\Windows\Installer\FileName.msi 缺失。 其原始文件是 sql_engine_core_inst.msi,它是为产品 SQL Server 2008 R2 SP1 数据库引擎服务安装的,来源于 <NetworkPath>,版本为 <VersionNumber>,语言为 <LanguageName>。

  • 缺少安装程序缓存包(MSP):

    缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 此缓存文件的原始文件为 sql_engine_core_inst_loc.msp,可从 SQL Server 2008 R2 服务包 1 (KB2528583) (64 位) 版本 <VersionNumber> 中安装。

注意

执行升级时收到以下错误消息: SP2 错误消息的屏幕截图:SQL Server 2008 R2 安装程序已停止工作。

在 CU2 之前的 SQL Server 2012

安装程序不会显示缺少 MSP 或 MSI 文件的消息。 但是,它会在安装程序日志中记录错误代码 1714。

Summary.txt 文件中:

Component name: SQL Server Setup Support Files
Component error code: 1714

Detail.txt 文件中:

Date/Time Slp: Sco: FileFilePath does not exist  
Date/Time Slp: Sco: FileFilePathdoes not exist  
Date/Time Slp: Checkpoint: PREINSTALL_SQLSUPPORT_CPU64_ACTION  
Date/Time Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machineServer Name
Date/Time Slp: Sco: Attempting to open registry subkey    Software\Microsoft\Windows\CurrentVersion\Installer  
Date/Time Slp: Sco: Attempting to get registry value InstallerLocation  
Date/Time Slp: Windows installer version : 5.0.7601.17514  
Date/Time Slp: Sco: Waiting for service 'msiserver' to accept the stop request.  
Date/Time Slp: Sco: Attempting to open SC Manager  
Date/Time Slp: Sco: Attempting to open service handle for service msiserver  
Date/Time Slp: Invoking QueryServiceStatus Win32 API  
Date/Time Slp: Sco: Attempting to close service handle for service msiserver  
Date/Time Slp: Sco: Attempting to close SC Manager  
Date/TimeSlp: Target package: "FilePath"  
Date/TimeSlp: MSI Error: 1714 The older version of Microsoft SQL Server 2012 Setup (English) cannot be removed. Contact your technical support group.  
Date/TimeSlp: InstallPackage: MsiInstallProduct returned the result code 1603.  
Date/TimeSlp: Using MSI error code to detect the retry option: 1714  
Date/TimeSlp: No retry-able MSI return code detected.

SQL Server 2012 CU2(以及任何后续 CU 或 SP)

  • 缺少安装程序包(MSI):

    缓存的 MSI 文件 C:\Windows\Installer\FileName.msi 缺失。 其原始文件是 C:\Windows\Installer\sql_FeatureName.msi,并且它是为产品 Microsoft SQL ServerVersion 从 C:\originalfolder 安装的,版本为 <VersionNumber>,语言为 <Language>。

  • 缺少安装程序缓存包(MSP):

    缓存的修补程序文件 c:\Windows\Installer\FileName.msp 缺失。 其原始文件是 sql_engine_core_inst.msp,可从 Hotfix 2316 for SQL Server 2012 (KB2679368) (64-bit)安装,版本为 <VersionNumber>。 缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 其原始文件为 C:\Windows\Installer\sql_FeatureName.msp,可通过 SQL Server 2012 KB Number 的修补程序 <HotfixNumber> 安装,版本为 <VersionNumber>。

注意

在 2012 SQL Server的某些条件下,RTM 媒体未正确注册。 卸载累积更新或 Service Pack 时,安装程序可能会提示你输入 RTM 媒体。 若要绕过此问题,请在删除补丁的过程中提供 RTM 安装介质路径。