Sql-Server

修補 SQL Server 2016

  • March 3, 2022

我的大多數 SQL Server 都在 2016 SP2 上。安全組已確定我需要稍後應用安全更新,並且由於今年 SP2 不再支持,我計劃將其修補到 SP3。

問題是我從未真正修補過 SQL Server,並且想知道在應用服務包時應該遵循什麼好的流程。我在網上看到了一些,都大致相同,但只是需要一些關於最佳方法的意見。

通過線上查看這些流程,我遇到的一些問題是:

  • 我假設需要重新啟動 SQL Server 實例。這是在安裝更新檔時自動完成的嗎?
  • 是否需要停止實例上的所有活動?即,是否需要關閉與實例通信的所有應用程序服務?
  • SQL 代理是否也應該停止?

根據您的資產規模和您使用的 HA 解決方案,需要對部署 SQL 更新檔進行大量規劃。我的修補程序通常在擁有 100 台 SQL Server 和需要高正常執行時間的各種應用程序的大公司中執行。您的要求可能沒有那麼嚴格。

首先,在你做任何事情之前,你需要確保你在較低的區域測試你的更新檔,如果你有的話。讓他們在那裡執行幾個星期,並確保您不會遇到任何問題。如果你有 QA 團隊,讓他們在這段時間內對應用程序進行嚴格的測試,以真正確保沒有引入影響你的應用程序的錯誤。您要做的最後一件事是直接在 prod 中安裝更新檔,然後關閉整個應用程序或數據庫。

修補您的較低區域後,您需要修補 DR。

最後,一旦您在較低和 DR 區域進行了修補,以下是修補生產/DR 的一般過程。

修補獨立 SQL Server

  1. 對於獨立的 SQL Server,最好先確保沒有作業正在執行並停止 SQL 代理。您不希望在修補之前開始長時間執行的作業,然後要麼需要等待它完成,要麼必須在執行中終止它。
  2. 安裝 SQL 更新檔並按照嚮導的提示進行操作。
  3. 重新啟動 SQL Server。
  4. 重新啟動後驗證執行狀況。確保所有數據庫都重新聯機並且事務按預期處理。

修補可用性組

  1. 首先修補您的輔助副本(包括 DR)。
  2. 暫停將數據移動到輔助副本。
  3. 修補您的次要副本。
  4. 重啟
  5. 重新啟動後驗證執行狀況。確保所有數據庫都重新聯機並且事務按預期處理。
  6. 在輔助副本上恢復數據庫移動。
  7. 修補所有輔助副本後,故障轉移主副本並重複上述步驟。

修補 FCI

FCI 可能是最容易修補的。SQL Server 和 SQL Agent 已在您的輔助節點上停止。

  1. 在所有輔助節點上安裝 SQL 更新檔。
  2. 確保沒有 SQL 代理作業在活動節點上執行。如果不是,則故障轉移到輔助節點之一。
  3. 驗證新的主數據庫是否健康,所有數據庫都聯機並且正在處理新事務。
  4. 修補以前的主節點。
  5. 故障回復到原始主節點並重複驗證。

同樣,如果您有一個 QA 團隊,那麼在您完成對 prod 的修補之後,也是讓他們也測試應用程序的好時機。

當您使用它時,請考慮安裝最新的累積更新。

要回答您的具體問題:

  • 我假設需要重新啟動 SQL Server 實例?這是在安裝更新檔時自動完成的嗎?

是的。安裝程序將至少重新啟動一次 SQL Server 實例。為此計劃。

  • 是否需要停止實例上的所有活動?即所有與實例通信的應用程序服務都需要關閉?

它“不需要”事先停止 - 但實例將重新啟動。您的應用程序可以優雅地處理嗎?如果沒有,請計劃一個允許這樣做的視窗。

  • SQL AGent 也應該停止?

就像數據庫引擎一樣 - 這也會下降和上升。確保將其設置為自動啟動並重新啟動。

我的一篇較早的部落格文章有更多關於修補的細節需要考慮。除了上面的其他好答案。

引用自:https://dba.stackexchange.com/questions/308216