修补 SQL Server 2016

Gar*_*rry 5 sql-server service-pack sql-server-2016 patching

我的大多数 SQL Server 都使用 2016 SP2。安全小组已确定我需要应用更高版本的安全更新,由于今年 SP2 不再受支持,我计划将其修补到 SP3。

问题是我从未真正修补过 SQL Server,并且想知道应用该服务包时应遵循什么好的流程。我在网上看到了一些,大致相同,但只是需要一些关于最佳方法的意见。

通过在线查看这些流程,我遇到的一些问题是:

  • 我假设 SQL Server 实例需要重新启动。这是安装补丁时自动完成的吗?
  • 是否需要停止实例上的所有活动?即,是否需要关闭与实例通信的所有应用程序服务?
  • SQL 代理也应该停止吗?

Bre*_*rey 5

部署 SQL 补丁需要进行大量规划,具体取决于您的资产规模和您使用的 HA 解决方案。我的修补例程通常是在拥有数百台 SQL Server 和需要高正常运行时间的各种应用程序的大公司中执行的。您的要求可能没有那么严格。

首先,在你做任何事情之前,你需要确保在较低的区域测试你的补丁(如果有的话)。让它们在那里运行几周,并确保您不会遇到任何问题。如果您有 QA 团队,请让他们在这段时间内对应用程序进行严格检查,以真正确保不会引入影响您的应用程序的错误。您最不想做的就是直接在产品中安装补丁,然后关闭整个应用程序或数据库。

修补较低区域后,您需要修补 DR。

最后,在较低区域和灾难恢复区域中进行修补后,以下是修补生产/灾难恢复的一般流程。

修补独立 SQL Server

  1. 对于独立的 SQL Server,最好首先确保没有作业正在运行并停止 SQL 代理。您不希望在修补之前启动一个长时间运行的作业,然后要么需要等待它完成,要么必须在运行中终止它。
  2. 安装 SQL 补丁并按照向导的提示进行操作。
  3. 重新启动 SQL Server。
  4. 重新启动后验证运行状况。确保所有数据库重新联机并且事务按预期进行处理。

修补可用性组

  1. 首先修补您的辅助副本(包括灾难恢复)。
  2. 暂停向辅助副本的数据移动。
  3. 修补您的辅助副本。
  4. 重启
  5. 重新启动后验证运行状况。确保所有数据库重新联机并且事务按预期进行处理。
  6. 恢复辅助副本上的数据库移动。
  7. 修补所有辅助副本后,对主副本进行故障转移并重复上述步骤。

修补 FCI

FCI 可能是最简单的修补程序。SQL Server 和 SQL Agent 已在辅助节点上停止。

  1. 在所有辅助节点上安装 SQL 补丁。
  2. 确保没有 SQL 代理作业在主动节点上运行。如果不是,则故障转移到辅助节点之一。
  3. 验证新的主数据库是否正常,所有数据库均已上线并且正在处理新事务。
  4. 修补前主节点。
  5. 故障回复到原始主节点并重复验证。

同样,如果您有 QA 团队,那么在完成产品修补后也是让他们测试应用程序的好时机。

当您这样做时,请考虑安装最新的累积更新。


小智 1

最好有一个修补服务窗口。SP3 将要求服务器重新启动(不会自动执行),但 SQL 服务可能会在 SP 安装期间变得不可用\重新启动。你不需要停止代理或任何东西。

如果您有 HA 设置,那么最好先在辅助节点上安装 SP3 并进行故障转移。