Sql-Server

為什麼我在 SQL Server 故障轉移群集實例中關閉 SQL 服務時不會發生自動故障轉移?

  • April 2, 2022

我遇到了與自動故障轉移相關的異常行為,因此在關閉 SQL Server 服務的情況下自動故障轉移不起作用。集群磁碟似乎仍連接到故障節點,但我無法找出導致此行為的最終問題。如果您能幫助我理解這個問題,我將非常感謝您。

出於測試目的,我在域控制器上創建了 iSCSI 目標,並連接了 2 個啟動器:

在此處輸入圖像描述

以下是有關我的集群的詳細資訊:

在此處輸入圖像描述 在此處輸入圖像描述 在此處輸入圖像描述

以下是有關我的 SQL Server 服務的詳細資訊:

在此處輸入圖像描述 在此處輸入圖像描述 在此處輸入圖像描述

以下是有關集群磁碟的詳細資訊(我只添加了其中一個磁碟的詳細資訊,因為兩個磁碟相同):

在此處輸入圖像描述 在此處輸入圖像描述

現在,當我關閉 SQL Server 服務時,服務的自動故障轉移不會發生:

在此處輸入圖像描述

我測試了自動故障轉移成功工作的其他場景:

  1. 手動故障轉移
  2. 關閉活動節點
  3. 在活動節點上禁用適配器
  4. 在任務管理器中殺死sql server程序
  5. 在任務管理器中殺死sql代理服務程序

在上述所有場景中,資源都成功故障轉移到另一個節點。

當我在活動節點上關閉 SQL Server 服務時,您能否幫我弄清楚自動故障轉移出了什麼問題?

故障轉移集群管理器是管理受集群保護的服務的工具,所以我相信如果管理員選擇停止使用它的服務,它不應該對服務進行故障轉移**。**這種情況可能被解釋為需要停止服務的一些維護。

您描述的 5 個工作場景不在集群管理器範圍內(除了一個顯式故障轉移服務的選項),因此它們代表了服務在管理員不知情的情況下停止的情況(如果是管理員,他會已經使用了故障轉移集群管理器,對嗎?)並且集群承認這種情況是危險的,並按照預期採取行動以重新建立服務。


相關:

正確關閉群集中的 SQL Server

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