修補 SQL Server 2016
我的大多數 SQL Server 都在 2016 SP2 上。安全組已確定我需要稍後應用安全更新,並且由於今年 SP2 不再支持,我計劃將其修補到 SP3。
問題是我從未真正修補過 SQL Server,並且想知道在應用服務包時應該遵循什麼好的流程。我在網上看到了一些,都大致相同,但只是需要一些關於最佳方法的意見。
通過線上查看這些流程,我遇到的一些問題是:
- 我假設需要重新啟動 SQL Server 實例。這是在安裝更新檔時自動完成的嗎?
- 是否需要停止實例上的所有活動?即,是否需要關閉與實例通信的所有應用程序服務?
- SQL 代理是否也應該停止?
根據您的資產規模和您使用的 HA 解決方案,需要對部署 SQL 更新檔進行大量規劃。我的修補程序通常在擁有 100 台 SQL Server 和需要高正常執行時間的各種應用程序的大公司中執行。您的要求可能沒有那麼嚴格。
首先,在你做任何事情之前,你需要確保你在較低的區域測試你的更新檔,如果你有的話。讓他們在那裡執行幾個星期,並確保您不會遇到任何問題。如果你有 QA 團隊,讓他們在這段時間內對應用程序進行嚴格的測試,以真正確保沒有引入影響你的應用程序的錯誤。您要做的最後一件事是直接在 prod 中安裝更新檔,然後關閉整個應用程序或數據庫。
修補您的較低區域後,您需要修補 DR。
最後,一旦您在較低和 DR 區域進行了修補,以下是修補生產/DR 的一般過程。
修補獨立 SQL Server
- 對於獨立的 SQL Server,最好先確保沒有作業正在執行並停止 SQL 代理。您不希望在修補之前開始長時間執行的作業,然後要麼需要等待它完成,要麼必須在執行中終止它。
- 安裝 SQL 更新檔並按照嚮導的提示進行操作。
- 重新啟動 SQL Server。
- 重新啟動後驗證執行狀況。確保所有數據庫都重新聯機並且事務按預期處理。
修補可用性組
- 首先修補您的輔助副本(包括 DR)。
- 暫停將數據移動到輔助副本。
- 修補您的次要副本。
- 重啟
- 重新啟動後驗證執行狀況。確保所有數據庫都重新聯機並且事務按預期處理。
- 在輔助副本上恢復數據庫移動。
- 修補所有輔助副本後,故障轉移主副本並重複上述步驟。
修補 FCI
FCI 可能是最容易修補的。SQL Server 和 SQL Agent 已在您的輔助節點上停止。
- 在所有輔助節點上安裝 SQL 更新檔。
- 確保沒有 SQL 代理作業在活動節點上執行。如果不是,則故障轉移到輔助節點之一。
- 驗證新的主數據庫是否健康,所有數據庫都聯機並且正在處理新事務。
- 修補以前的主節點。
- 故障回復到原始主節點並重複驗證。
同樣,如果您有一個 QA 團隊,那麼在您完成對 prod 的修補之後,也是讓他們也測試應用程序的好時機。
當您使用它時,請考慮安裝最新的累積更新。
要回答您的具體問題:
- 我假設需要重新啟動 SQL Server 實例?這是在安裝更新檔時自動完成的嗎?
是的。安裝程序將至少重新啟動一次 SQL Server 實例。為此計劃。
- 是否需要停止實例上的所有活動?即所有與實例通信的應用程序服務都需要關閉?
它“不需要”事先停止 - 但實例將重新啟動。您的應用程序可以優雅地處理嗎?如果沒有,請計劃一個允許這樣做的視窗。
- SQL AGent 也應該停止?
就像數據庫引擎一樣 - 這也會下降和上升。確保將其設置為自動啟動並重新啟動。
我的一篇較早的部落格文章有更多關於修補的細節需要考慮。除了上面的其他好答案。