A_V Asked: 2016-06-24 09:25:32 +0800 CST2016-06-24 09:25:32 +0800 CST 2016-06-24 09:25:32 +0800 CST 修复 SQL Server 2008R2 时缺少 .msi 文件会出错 772 我已经安装了 SQL Server 2008R2 SP1 数据库,我正在尝试使用 2008R2 安装二进制文件对其进行修复。 在修复加载的过程中,窗口突然关闭并给我这个错误信息,有人知道该怎么办吗?到目前为止,我的搜索技巧让我孤身一人。 sql-server sql-server-2008-r2 2 个回答 Voted Best Answer A_V 2016-06-24T11:02:52+08:002016-06-24T11:02:52+08:00 微软在知识库文章中提供的脚本: 如何还原丢失的 Windows Installer 缓存文件并解决 SQL Server 更新期间出现的问题 ...找到丢失的文件并允许我前进一点: 将脚本保存到桌面 使用 CMD 运行它 cscript scriptname.vbs scriptoutput.txt 在文本文件中找到所有复制命令,并使用它们来填充您的 Windows 安装程序文件夹。那些丢失的文件会导致您的问题。 编辑 第 3 步需要更多解释:从 VBS 脚本生成的文本文件包含各种建议,主要建议将文件从某些位置(稍后将详细介绍)复制到它们应该按顺序放置的 %windir%\installer 路径任何升级/补丁/修复过程的工作。 就我而言,我有 sqlserver 2008R2 SP1,所以输出文本文件基本上告诉我“我需要某些 vanilla 文件和某些 SP1 文件” 这是询问 vanilla 文件的脚本,可以在库存 sqlserver2008r2 安装程序 DVD 中找到 Copy "C:\Source\Sources SQL 2008\SQL 2008 R2\SQL2008R2_source\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi" C:\Windows\Installer\2d620c2b.msi 这是要求 SP1 文件的脚本: Copy "g:\10bb0cd00ccb163360\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msp" C:\Windows\Installer\2d8607e0.msp SQLSERVER 会记住它在第一次使用这些文件时在哪里找到这些文件,但如果像我一样,有人在服务器上进行了大量清理并删除了所有珍贵的文件,则该位置可能不再存在。 您需要修改路径的第一部分,使其与提取的 DVD 和提取的 SP1 补丁的位置相匹配。要提取 SP1 补丁,您可以在 CMD 提示符下运行以下命令 c:\path\to\file\SQLServer2008R2SP1-KB2528583-x64-ENU.exe /x 请注意,最后的 /x,此命令将打开一个小窗口,询问您要将内容提取到哪里。 Ahmad 2017-02-05T14:31:38+08:002017-02-05T14:31:38+08:00 您可以尝试我的 PowerShell 脚本“Restore-InstallerFiles.ps1”,它能够扫描丢失的文件并从不同的源(例如本地文件夹、共享文件夹或可从目标机器访问的另一台机器)恢复它们。 http://ahmad.jempress.com/post/restore-the-missing-windows-installer-cache-files https://gallery.technet.microsoft.com/scriptcenter/Restore-the-Missing-d11de3a1
微软在知识库文章中提供的脚本:
如何还原丢失的 Windows Installer 缓存文件并解决 SQL Server 更新期间出现的问题
...找到丢失的文件并允许我前进一点:
将脚本保存到桌面
使用 CMD 运行它
在文本文件中找到所有复制命令,并使用它们来填充您的 Windows 安装程序文件夹。那些丢失的文件会导致您的问题。
编辑
第 3 步需要更多解释:从 VBS 脚本生成的文本文件包含各种建议,主要建议将文件从某些位置(稍后将详细介绍)复制到它们应该按顺序放置的 %windir%\installer 路径任何升级/补丁/修复过程的工作。
就我而言,我有 sqlserver 2008R2 SP1,所以输出文本文件基本上告诉我“我需要某些 vanilla 文件和某些 SP1 文件”
这是询问 vanilla 文件的脚本,可以在库存 sqlserver2008r2 安装程序 DVD 中找到
这是要求 SP1 文件的脚本:
SQLSERVER 会记住它在第一次使用这些文件时在哪里找到这些文件,但如果像我一样,有人在服务器上进行了大量清理并删除了所有珍贵的文件,则该位置可能不再存在。
您需要修改路径的第一部分,使其与提取的 DVD 和提取的 SP1 补丁的位置相匹配。要提取 SP1 补丁,您可以在 CMD 提示符下运行以下命令
请注意,最后的 /x,此命令将打开一个小窗口,询问您要将内容提取到哪里。
您可以尝试我的 PowerShell 脚本“Restore-InstallerFiles.ps1”,它能够扫描丢失的文件并从不同的源(例如本地文件夹、共享文件夹或可从目标机器访问的另一台机器)恢复它们。
http://ahmad.jempress.com/post/restore-the-missing-windows-installer-cache-files
https://gallery.technet.microsoft.com/scriptcenter/Restore-the-Missing-d11de3a1