如果不打算卸载,是否可以删除 Setup Bootstrap 文件夹中的 Log 和 Update Cache 文件夹?

Sol*_*zky 12 sql-server best-practices management disk-space

我的笔记本电脑上安装了多个版本的 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)
Run Code Online (Sandbox Code Playgroud)

(以下所有文件夹都位于: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)
Run Code Online (Sandbox Code Playgroud)

这些文件夹的总数是(MB 已标准化为 GB):

Folder          GB          Files
----------     -----        ------
Log             2.35        10,991
Update Cache   20.66        40,095

TOTAL          23.01        51,086
Run Code Online (Sandbox Code Playgroud)

最初我认为删除LogUpdate Cache文件夹应该是安全的,但后来我认为最好先检查一下其他人是否已经问过这个问题,如果是,那么答案是什么。我找到了这篇知识库文章:

SQL Server 中更新缓存文件夹的说明

其中指出:

如果您删除此文件夹或删除其内容,会发生什么情况?

如果从该文件夹中删除更新缓存文件夹或某些修补程序,您将无法再卸载 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 个文件(最终结果是上图所示的数字)。

需要明确的是,我不是在寻找是否应该或不应该删除这些文件夹中的一个或两个;我正在寻找我可以不能删除一个或两个(除了卸载/降级的能力之外没有破坏任何东西,我已经接受了)。

sam*_*sql 8

>> 来自 OP 的说明:虽然我已经接受了这个答案,但请注意,由于尚未进行广泛的测试,因此它不是结论性的。某些类型的更新或更新系列的要求可能略有不同,等等。但目前,没有证据或信息表明任何不同的行为。<<


该测试证实,可以删除的内容,日志更新缓存的范围内设置引导日志文件夹,并且仍然能够运用未来的CU,全球存托凭证,和SP。

阶段1:

作为突出显示 SQL Server 的版本是12.0.5000 (SQL Server 2014 SP2) 1在此处输入图片说明

接下来,我删除LogUpdate 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。 在此处输入图片说明

现在让我们最终检查LogUpdate Cache文件夹中发生的情况。

在此处输入图片说明 我们注意到为我们成功运行的补丁创建了新的文件夹和文件。这是 SQL 设置的预期行为。

可以说是的,您可以删除Setup Bootstrap文件夹中的LogUpdate Cache文件夹的内容,并且仍然能够在 SQL Server 上执行未来的修补/升级。

HTH某人:)