还原缺少的 Windows Installer 缓存文件并解决SQL Server更新期间出现的问题

本文介绍安装 Microsoft SQL Server 更新时出现的缺少 MSI 错误的几种解决方案。

原始产品版本:SQL Server
原始 KB 编号: 969052

注意

本文中所述的过程仅提供紧急救济,而不是永久修复。 使用此紧急过程的客户应按照缺少 Windows Installer 缓存 需要重新生成计算机一文中的指示,使用 Windows Installer 缓存验证程序包来验证其 Windows Installer 缓存。

症状

安装 SQL Server Service Pack 或累积更新时,可能会遇到各种错误消息或指示 Windows Installer 缓存问题的意外行为。 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 缓存中缺少 Windows Installer 数据库文件 (.msi) 或 Windows Installer 修补程序文件 (.msp) 时,可能会出现这些问题。 Windows Installer 缓存位于文件夹中: %windir%\installer

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

产品的任何将来更新(例如修补程序、累积更新或 Service Pack 设置)都依赖于存储在 Windows Installer 缓存中的文件中的信息。 如果没有此信息,新更新将无法执行所需的转换。

由于SQL Server使用 Windows Installer 技术,因此此问题可能会影响它。 SQL Server安装包(可能包括 .msi 和 .msp 文件)存储在 Windows 安装程序缓存中。 卸载和更新应用程序需要这些文件。 缺少的文件不能在计算机之间复制,因为它们是唯一的。

警告

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

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

对于SQL Server安装,首先,请使用以下文章中所述的修复过程来验证当前安装:

对于以前的版本:

应使用以下命令行从原始安装媒体运行修复:

setup.exe /ACTION=REPAIR /INDICATEPROGRESS=TRUE

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

解决方案 2:使用 FixMissingMSI 工具

可以使用 FixMissingMSI 工具识别 Windows Installer 缓存中缺少的 MSI 和 MSP 文件。 作为额外的分辨率,你可以将工具指向原始媒体位置并重新缓存缺少的文件。

下载

可以从 GitHub 存储库下载 FixMissingMSI 工具。

如何使用

FixMissingMSI 是一种图形用户界面, (GUI) 工具,可用于轻松识别和修复缺少的 MSI。 请按照以下步骤使用它:

  1. 准备或查找需要修复的 SQL Server 版本 (安装介质) 。

  2. 在可能缺少 MSI 或 MSP 文件的计算机上本地下载并提取媒体。 在 RTM、服务包或累积更新的单独文件夹中执行此操作。 例如:

    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. 如果任何项目被报告为“缺失”,则“状态”列的值为 Missing,并且该行以红色突出显示。

  8. 可以通过选择行开头的“ 修复 ”按钮来修复单个缺失的文件。

    FixMissingMSI 工具的屏幕截图。

  9. 如果要修复所有缺少的 MSI 或 MSP,请选择“ 修复 ”菜单,然后选择“ 全部修复”。

有关详细信息,请参阅 SQL Setup ToolSuite Introduction (1) -FixMissingMSI

FixMissingMSI 工具的优点之一是,你可以使用它修复 Windows 上所有产品缺少的 MSI 或 MSP,而不仅仅是SQL Server。

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

若要完成此过程中的步骤,必须将 FixMissingMSI 文件夹中的FindSQLInstalls.vbs 脚本从 GitHub 存储库复制到尝试更新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. 在记事本等文本编辑器中打开步骤 2 中的文件,并确定导致失败的问题。 为此,请在文本文件中搜索以下字符串模式:

    • do not
    • !!!
  6. 根据上一步的结果,执行所需的步骤。

    注意

    FindSQLInstalls.vbs 示例 部分查找有关这些步骤的详细信息。

  7. 重复步骤 2 到步骤 4,直到步骤 2 中创建的文本文件没有引用所更改组件无效路径或缺少文件的文本。

FindSQLInstalls.vbs 示例

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

示例 1:缺少安装程序文件

下面是在 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。如果从文件夹或网络共享进行安装,则行 LastUsedSourcen; 条目开头,后跟一个 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 替换现有文件(如果系统提示这样做)。

示例 2:缺少修补程序

缺少修补程序可能会导致条目类似于示例 1 中的条目。 大多数情况下,你会注意到引用修补程序的 Patch LastUsedSource 行中的条目,此行类似于 Patch LastUsedSource: n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

此输出指示有关修补程序安装的以下信息:

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

注意

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

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

KB 文章 URL 行可帮助你下载任何修补程序介质(如有必要)。

解决方案 4:手动还原文件

若要手动还原 Windows Installer 缓存中缺少的文件,请执行以下步骤:

  1. 从错误消息、安装程序日志文件或 Windows Installer 维护的注册表项中收集有关缺少文件的完整详细信息。 例如,在“ 症状 ”部分的“错误消息 1”中,错误消息中提供了解决问题所需的所有信息:

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

  3. 访问 查询,并搜索与此修补程序关联的知识库文章。 在此示例中,必须搜索 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 Installer 缓存:

    %windir%\installer\

  8. 将原始 msp 文件 sql_engine_core_inst.msp 重命名为名称:cached msp 文件 1fdb1aec.msp

可以启动导致错误的更新的安装程序,并恢复更新过程。 对于另一个组件或同一产品的另一个更新缺少 Windows Installer 缓存文件,你可能会遇到此消息。

若要获取与SQL Server产品组件相关的所有缺失 Windows Installer 缓存文件的列表,可以下载更多信息部分中提到的 SQL Server 2008 R2 BPA 工具。

如果错误消息引用了 (.msi) 缺少的 Windows Installer 数据库文件,则无需执行步骤 2 到步骤 4。 相反,你可以直接转到步骤 5。 必须从用于安装产品的原始介质中找到 .msi。 如果为 sql_engine_core_inst.msi生成了此错误消息,则必须在文件夹结构 \x64\setup\sql_engine_core_inst_msi\ 下从安装媒体中找到此文件。 其他步骤相同。

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

不同版本的产品为所述问题生成不同的错误消息。 从 SQL Server 2008 SP1 开始的更新会显示“症状”部分中提到的错误消息。 对于其他更新,你会收到错误消息,这些错误消息可能未明确指定 Windows Installer 缓存中缺少哪个修补程序文件和特定更新详细信息。 对于这些错误消息,安装日志文件将包含有关缺少的 Windows Installer 缓存文件的信息。 下面是一个示例安装日志:

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 修补程序注册表子项中搜索缺少的 .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 Installer 缓存中缺少的文件的步骤。

    注意

    如果使用 SQL Server 2008 Service Pack 3 (SP3) 或更高版本,则还会收到有关缺少 .msi 文件的类似错误消息。 使用此错误消息,可以快速确定缺少的文件、要下载的 Service Pack 以及查找下载的位置。

有关如何获取 Service Pack 的详细信息,请参阅 KB2546951 - SQL Server 2008 Service Pack 3 修复的问题列表

解决方案 5:从系统状态备份还原

可以从系统状态备份还原,如 缺少 Windows Installer 缓存需要重新生成计算机中所述。

更多信息

注意

以下错误消息可以作为文本消息在事件日志或安装程序日志中找到,这些消息位于以下文件夹中,它们指示应进一步修复受影响的实例:

  • 对于 SQL Server 2008 和 SQL Server 2008 R2:C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • 对于 2012 SQL Server:C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
  • 对于 SQL 2005, (所有分支)

    产品版本 缺少安装程序包 (MSI) 时出现错误消息 缺少安装程序缓存包 (MSP) 时出现错误消息
    SQL Server 2005 1636 无法安装 Windows Installer MSI 文件
    1636 无法安装 Windows Installer MSP 文件

    注意

    必须查看安装日志文件,以确定是否缺少任何缓存文件。 有关如何执行此操作的详细信息,请参阅 解决方法 部分。

  • 对于 SQL Server 2008 SP1

    产品版本 缺少安装程序包 (MSI) 时出现错误消息 缺少安装程序缓存包 (MSP) 时出现错误消息
    SQL Server 2008 SP1 无错误消息 标题:SQL Server安装程序失败。
    ------------------------------
    SQL Server安装程序遇到错误:无法打开修补程序文件。文件为:c:\WINNT\Installer\FileName.msp。错误代码0x84B20001。
    ------------------------------
  • 对于 SQL Server 2008 SP3 仅生成 (CU/GDR 分支不适用)

    产品版本 缺少安装程序包 (MSI) 时出现错误消息 缺少安装程序缓存包 (MSP) 时出现错误消息
    SQL Server 2008 SP3 缺少缓存 的 MSI 文件C:\Windows\Installer\FileName.msi 。 其原始文件 sql_engine_core_inst.msi,并且已针对 NetworkPath><> 版本 2008 数据库引擎服务<版本 2008(语言 <ENU>)SQL Server产品安装。 缺少缓存的修补程序文件 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) 时出现错误消息 缺少安装程序缓存包 (MSP) 时出现错误消息
    SQL Server 2008 R2 SP1 标题:SQL Server安装程序失败。
    ------------------------------
    SQL Server安装程序遇到以下错误: C:\Windows\Installer\FileName.msi
    ------------------------------
    缺少缓存的修补程序文件 C:\Windows\Installer\FileName.msp 。 此缓存文件的原始文件是 sql_engine_core_inst_loc.msp,可从 Service Pack 1 for SQL Server 2008 R2 (KB2528583) (64 位) VersionNumber <>安装。

    注意

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

  • 对于 SQL Server 2008 R2 SP2

    产品版本 缺少安装程序包 (MSI) 时出现错误消息 缺少安装程序缓存包 (MSP) 时出现错误消息
    SQL Server 2008 R2 SP1 缺少缓存 的 MSI 文件C:\Windows\Installer\FileName.msi 。 其原始文件是sql_engine_core_inst.msi,它已安装用于 NetworkPath>< 版本 VersionNumber>(语言<语言名称>)产品SQL Server 2008 R2 SP1 数据库引擎服务<。
    缺少缓存的修补程序文件 C:\Windows\Installer\FileName.msp 。 此缓存文件的原始文件是 sql_engine_core_inst_loc.msp,可从 Service Pack 1 for SQL Server 2008 R2 (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) 时出现错误消息 缺少安装程序缓存包 (MSP) 时出现错误消息
    SQL Server 2008 R2 SP1 缺少缓存 的 MSI 文件C:\Windows\Installer\FileName.msi 。 其原始文件 C:\Windows\Installer\sql_FeatureName.msi ,并且已针对 C:\originalfolder 版本 <VersionNumber>、language <Language> 的产品 Microsoft SQL ServerVersion 安装。 缺少缓存的修补程序文件 c:\Windows\Installer\FileName.msp 。 其原始文件为 sql_engine_core_inst.msp,可从 版本 VersionNumber> 安装Hotfix 2316 for SQL Server 2012 (KB2679368) (64-bit)<。 缺少缓存的修补程序文件 C:\Windows\Installer\FileName.msp 。 其原始文件是 C:\Windows\Installer\sql_FeatureName.msp,可从修补程序<修补程序编号>为 SQL Server 2012 KB Number,versionNumber <>安装该文件。

    注意

    在 2012 SQL Server 的某些条件下,RTM 媒体可能无法正确注册。 卸载累积更新或服务包时,在这些情况下,安装程序可能会提示你输入 RTM 媒体。 若要解决此问题,请在修补程序删除过程中提供 RTM 媒体路径。

References