我发现了很多关于如何正确修复 Windows 服务器的信息(例如更新还是不更新?),但就我目前的情况来看,这些信息大部分都不实用。
我正在寻找资源受限情况下最不坏的选择。具体来说,假设这些是我唯一的选择:我应该盲目地将“重要”(而不是“可选”)的 Windows 更新应用于生产服务器,还是根本不应用它们更好?
这里有一些背景信息:我是一家小公司的 DBA,公司大约有 15 台服务器托管 SQL Server 实例;我关心的只有 SQL 设备(也就是说,我不担心 Exchange 设备、域控制器等)。我们每天 24 小时在线,但我没有定期安排维护时段(也就是说,如果我需要重新启动,我需要与我们的运营/支持小组明确安排维护时段等)。
我对管理服务器很熟悉,知道自己的极限,不会破坏任何东西,但我缺乏深入的知识。我和网络/服务器人员谈过这个问题,但他们告诉我,我们没有针对这个问题的流程或政策,我应该用我最好的判断。所以他们知道这是一个问题,但它不会很快得到解决。我没有技能或时间自己实施一个好的解决方案,我真的只是想用我今天拥有的资源尽可能地降低风险。从哲学上讲,我倾向于应用补丁,但我承认我可能不完全了解这样做的风险。
以可回答的问题的形式进行总结:盲目修补更安全,还是根本不修补更安全?
我愿意接受其他选择,但它们必须像以或多或少临时的方式手动应用 Windows 更新一样简单和灵活。(我知道这很糟糕,但这是我目前以及不久的将来的现实)
答案1
或者根本不修补?
如今这根本不是一个选择。如果你不应用所需的安全补丁,你的系统几乎肯定会在某个时候受到损害。唯一真正的问题是补丁发布后你能等多久才必须安装它。
盲目修补
理想情况下,你会进行测试,但如果无法测试,那么至少要确保拥有经过充分测试的备份和恢复系统,以减轻潜在损害。因此,当更新确实造成破坏时,你可以从中恢复。然后,你必须能够容忍一些停机时间,以便更新得以应用。
答案2
一般情况下,我通常会直接应用 Windows 更新补丁。虽然我有很好的备份,而且我还有一个可以依靠的还原点。由于通常都有重要的安全补丁,所以我不会等太久。
至于测试,我发现我通常无法在不花费大量时间的情况下很好地测试具有一系列不同项目(如 Windows)的任何东西。而且,由于具有高安全性配置文件和出色的备份,我无法等待。我通常没有遇到问题。为了谨慎起见,最好先完成开发服务器,然后再进行生产服务器。
需要注意的是,补丁可能会引发与您所经历的不同的异常。
因此你有你的答案....这取决于!
答案3
从评论来看,您已经通过虚拟机管理程序的快照功能获得了良好的备份/恢复流程。小心谨慎,这些对于应用未经测试的更新是必不可少的。
Zoredache 的回答确实涵盖了更新前的基础。它没有涵盖直接后果。您真正需要的是一种在完成后让您的系统进行测试的现成方法。在安装更新之前未经测试是一回事。在您有能力对其进行处理后不进行测试则是另一回事。
我对 SQL 的建议是编写一个模拟应用程序(假设您有一个前端)或一种现成的方法来触发您的常用存储过程并验证结果是否符合您的预期。我对 SQL 相关更新的经验始终(到目前为止)集中在没有服务启动或我们的应用程序的核心功能之一出现问题。在过去的 10 年里,拥有一个模拟应用程序曾多次拯救了我。