Sql-Server-2016

在多 SQL 實例環境中應用 SQL 2016 CU7 時 WSFC 角色出錯

  • July 25, 2019

請就以下錯誤提出建議:

群集角色“AG1_NAME”中類型“SQL Server 可用性組”的群集資源“AG1_NAME”失敗

根據資源和角色的故障策略,集群服務可能會嘗試在此節點上使資源聯機或將組移動到集群的另一個節點,然後重新啟動它。使用故障轉移群集管理器或 Get-ClusterResource Windows PowerShell cmdlet 檢查資源和組狀態。

環境:

AG1:(主要 = SRV01\DEV1,次要 = SRV02\DEV1,SRV03\DEV1)

AG2:(主要 = SRV02\DEV2,次要 = SRV03\DEV2,SRV01\DEV2)

使用 SQL Server 2016 SP2 CU7(即 SQL Server 2016 SP2 CU4)更新 AG2 副本時發生錯誤。

更新順序如下,更新嚮導時沒有報錯

  1. 在SRV01\DEV2 上將故障轉移設置為手動
  2. 更新了 SRV01\DEV2注意到 WSFC 錯誤(如上所述)
  3. 在SRV01\DEV2 上將故障轉移模式設置為自動
  4. 在SRV03\DEV2上將故障轉移模式設置為手動
  5. 更新了 SRV03\DEV2
  6. 在SRV03\DEV2上將故障轉移模式設置為自動
  7. 從SRV02\DEV2(主要)手動故障轉移到SRV03\DEV2
  8. 更新了 SRV02\DEV2
  9. 從SRV03\DEV2手動故障回復到SRV02\DEV2(主要)

在更新 SQL Server 的第二個實例時是否正常,第一個實例在伺服器涉及可用性組時被中斷,或者我們應該在這種情況下遵循任何特定方法以避免任何錯誤。

幸運的是,當我立即(在錯誤之後)回顧 WSFC 管理器的角色頁面時,特定的**AG1和 WSFC 的所有資源都正常工作。**還有 PowerShell Get-ClusterResource。但我擔心生產更新和未來的更新。任何建議都將是可觀的。謝謝!

再次感謝@SeanGallardy,我已嘗試重現該問題,不幸的是它沒有再次發生。仔細回看SQL Error log和cluster log,發現漏掉了一行The availability group is being asked to stop the lease renewal. This is an informational message only. No user action is required.,好像不是因為更新檔更新,不知道具體是什麼原因,從MS部落格發現的,可能是CPU佔用率高,記憶體壓力大或特定時刻的大量 IO 請求。

在我的情況下,增加資源租用時間將是解決方案,因為它是 DEV 環境。

在更新 SQL Server 的第二個實例時是否正常,第一個實例在伺服器涉及可用性組時被中斷,或者我們應該在這種情況下遵循任何特定方法以避免任何錯誤。

不,這不是預期的。但是,該錯誤表示它試圖使資源聯機並且至少失敗了 3 次(預設情況下,除非您更改了此值)。這使我相信該實例在它是主實例時已被修補,當服務離線以進行修補時,這當然會失敗。如果它不是主要的,那麼您需要查看 SQL Server 錯誤日誌和集群日誌以了解發生了什麼。

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