我有几个版本的 SQL Server,用于测试,安装在我的笔记本电脑上(2012、2014、2016 和 2017)。前几天我注意到有一个文件夹包含跨更新(SP、CU)的文件的早期版本。在所有版本中,实际上占用了相当多的空间:
(在C:\Program Files (x86)\Microsoft SQL Server\中)
110\Setup Bootstrap\Log - 91.8 MB (818 files)
110\Setup Bootstrap\Update Cache - 608 MB (2,382 files)
(下面的所有文件夹都位于:C:\Program Files\Microsoft SQL Server\)
110\Setup Bootstrap\Log - 1.18 GB (3,715 files)
110\Setup Bootstrap\Update Cache - 9.58 GB (14,766 files)
120\Setup Bootstrap\Log - 569 MB (2,963 files)
120\Setup Bootstrap\Update Cache - 5.74 GB (12,797 files)
130\Setup Bootstrap\Log - 448 MB (2,808 files)
130\Setup Bootstrap\Update Cache - 3.84 GB (8,579 files)
140\Setup Bootstrap\Log - 84.3 MB (687 files)
140\Setup Bootstrap\Update Cache - 937 MB (1,571 Files)
这些文件夹的总数为(MB 已标准化为 GB):
Folder GB Files
---------- ----- ------
Log 2.35 10,991
Update Cache 20.66 40,095
TOTAL 23.01 51,086
最初我认为删除Log和Update Cache文件夹应该是安全的,但后来我认为最好先检查一下其他人是否问过这个问题,如果是,答案是什么。我找到了这篇知识库文章:
其中指出:
如果您删除此文件夹或删除其内容会怎样?
如果从该文件夹中删除了 Update Cache 文件夹或某些修补程序,则不能再卸载 SQL Server 实例的更新,然后再恢复到较早的更新版本。在这种情况下,添加/删除程序条目指向不存在的二进制文件,因此卸载过程不起作用。因此,Microsoft 强烈建议您保持文件夹及其内容的完整性。
好的。我没有降级或卸载 SP 或 CU 的计划,所以我应该没问题,对吧?好吧,还有其他参考资料,例如这个:
其中有人引用了以下知识库文章:
如何还原丢失的 Windows Installer 缓存文件并解决 SQL Server 更新期间出现的问题
其中指出(强调):
安装 SQL Server 时,Windows Installer 将关键文件存储在 Windows Installer 缓存中(默认为 C:\Windows\Installer)。卸载和更新应用程序需要这些文件。
现在,这篇特定的文章似乎特定于C:\Windows\Installer文件夹,我不是在谈论从该文件夹中删除。尽管如此,由于提到了无法应用更新的可能性,我首先想要更多信息。
以前有没有人删除过这些文件夹,或者至少只是删除了它们的内容?如果是这样,是否有任何负面影响?这些文件夹只会增加。我刚刚为所有四个版本应用了“Spectre / Meltdown”补丁,总数增加了 3.65 GB 和 6,900 个文件(最终结果如上图所示)。
需要明确的是,我不是在寻找是否应该删除这些文件夹中的一个或两个;我正在寻找我是否可以删除一个或两个(除了卸载/降级的能力之外,我已经接受了这一点)。
>> 来自 OP 的注意事项:虽然我已接受此答案,但请注意,由于尚未进行广泛的测试,因此这不是结论性的。某些类型的更新或一系列更新可能具有略微不同的要求等。但目前,没有证据或信息表明任何不同的行为。<<
此测试确认您可以删除设置引导日志文件夹中的日志和更新缓存的内容,并且仍然能够应用未来的 CU、GDR 和 SP。
阶段1:
突出显示 SQL Server 的版本是12.0.5000 (SQL Server 2014 SP2) 1:
接下来,我删除Log和Update Cache的内容。见下面的截图;
阶段2:
现在,我为 SP2 运行了一个 CU (10) 补丁:https ://www.microsoft.com/en-us/download/confirmation.aspx?id=53592如果成功 ,这应该会将版本提升到12.00.5571 。
在设置过程中我在这里看到的唯一一件事是它没有为实例选择当前版本。注意:我在与此无关的多个场景中看到了这一点,并且设置确实成功完成。现在我更有兴趣看看这是否成功完成:P
第三阶段
安装程序确实如我预期的那样成功完成,并且 SQL 已被修补。现在让我们做一些检查来验证行为。查看成功安装的屏幕截图,并注意到底部突出显示了补丁的新摘要 txt 文件的位置。
首先让我们连接到 SQL Server 并观察版本。根据屏幕截图,是的,SQL Server 现在位于 12.0.5571,如测试前面所述。
现在让我们最终检查Log和Update Cache文件夹中发生的情况。
我们注意到为我们成功运行的补丁创建了新的文件夹和文件。这是 SQL 设置的预期行为。
可以肯定地说,是的,您可以删除Setup Bootstrap文件夹中的Log和Update Cache文件夹的内容,并且仍然能够在 SQL Server 上执行未来的修补/升级。
HTH某人:)
是的,如果没有卸载 SQL Server 更新的计划,您可以安全删除您也可以在此博客文章中查看我的测试
https://mkelsawy.blogspot.com/2019/08/DeleteUpdateCacheFolderinSQLServer.html