當前位置:
首頁 > 知識 > SQL Server Alwayson可用性副本會話期間的可能故障

SQL Server Alwayson可用性副本會話期間的可能故障


介紹

物理故障、操作系統故障或 SQL Server 故障都可能導致兩個可用性副本之間的會話失敗。 可用性副本不會定期檢查 Sqlservr.exe 所依賴的組件來驗證這些組件是在正常運行還是已出現故障。 但對於某些類型的故障,受影響的組件將向 Sqlservr.exe 報告錯誤。 由另一個組件報告的錯誤稱為「硬錯誤 」。 為了檢測可能忽略的其他故障,Always On 可用性組實施了自己的會話超時機制。 以秒為單位指定會話超時期限。 此超時期限是一個伺服器實例在考慮斷開另一實例的連接之前,等待接收來自該實例的 PING 消息的最長時間。 兩個可用性副本之間發生會話超時時,可用性副本將假定已發生故障並聲明一個「軟錯誤」。

硬錯誤導致的故障

可能的硬錯誤原因包括(但不限於)下列幾種情況:

  • 連接或網線斷開
  • 網卡出現故障
  • 路由器更改
  • 防火牆更改
  • 端點重新配置
  • 事務日誌駐留的驅動器丟失
  • 操作系統或進程故障

例如,如果主資料庫中的日誌驅動器停止響應或失敗,操作系統會通知 Sqlservr.exe 出現嚴重錯誤。

某些組件(如網路組件和某些 IO 子系統)使用它們自己的超時設置來確定故障。 這些超時設置獨立於 Always On 可用性組,後者不了解它們,並且完全不能識別其行為。 在這些情況下,超時延遲會延長發生故障與可用性副本收到所引發硬錯誤之間的時間。

軟錯誤導致的故障

可能導致會話超時的情況包括(但不限於)下列各項:

  • 諸如 TCP 鏈接超時、數據包被刪除或損壞或數據包順序錯誤等網路錯誤。
  • 操作系統、伺服器或資料庫處於掛起狀態。
  • Windows 伺服器超時。
  • 計算資源不足,例如 CPU 或磁碟超負荷運轉,事務日誌填滿,或系統用完內存或線程。 在這些情況下,需要增加超時期限、降低工作負荷或更換硬體以處理相應的工作負荷。

回話超時機制

由於軟錯誤不能由伺服器實例直接檢測到,因此,軟錯誤可能導致一個可用性副本無限期等待會話中另一個可用性副本的響應。 為了防止發生這種情況, Always On 可用性組實施了會話超時機制,此機制基於以下條件:所連接的可用性副本會在每個打開的連接上按固定間隔發送 ping。 在超時期限內收到 ping 指示連接仍是開放的且伺服器實例正在通過此連接進行通信。 收到 ping後副本將重置此連接上的超時計數器。主副本和輔助副本相互 ping 以指示它們仍處於活動狀態, 會話超時限制是用戶可配置的副本屬性,默認值為 10 秒。

如果在會話超時期限內沒有收到來自另一個副本的ping,該連接將超時、連接將關閉;超時的副本進入 DISCONNECTED 狀態。 即使為同步提交模式的副本,事務也將不等待該副本重新連接暫時將該輔助副本切換到非同步提交模式。在該輔助副本重新與主副本連接後,它們將恢復同步提交模式。

參考:https://msdn.microsoft.com/zh-cn/library/ff877884(v=sql.120).aspx


總結

無法檢測到主資料庫之外的資料庫中的故障。 此外,也不太可能檢測到數據磁碟故障,除非資料庫因為數據磁碟故障而重新啟動,僅在出現軟錯誤時,才對可用性副本執行有效的錯誤檢查。

備註:

《歡迎交流討論》

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

尚學堂高琪Java300集視頻精華筆記
Javascript檢測值
創建對象的N種模式
redis內部數據結構深入淺出
8 面向對象之抽象類+介面+內部類

TAG:科技優家 |

您可能感興趣

Rahakott加密貨幣錢包:新增Bitcoin Cash和Litecoin,高度可用性,方便與安全
哪種特徵分析法適合你的任務?Ian Goodfellow提出顯著性映射的可用性測試
Valve向開發者推出新控制器原型迭代Knuckles DV,改進人體工學、可用性和設備性能
超可用性彰顯數據價值 VeeamON Forum智能數據管理高峰論壇將在上海舉辦
hystrix要解決的分散式系統可用性問題以及其設計原則
微軟推出Azure可用性區域,提供數據中心故障保護
微軟開始推出Azure可用性區域 提供數據中心故障保護
匿名幣Grin進行第一次硬分叉升級,進一步優化可用性
華為P30 Pro真機實測,流暢度一流,50倍變焦可用性不強
微軟VS 2019發布16.2正式版,提升IDE可用性
為什麼純文本按鈕會損害移動應用的可用性?
你的可用性達標了嗎?雲端業務性能高可用的深度實踐
東芝宣布 14TB 硬碟獲得超微優選存儲伺服器可用性認證
一文理解微服務架構下的系統可用性如何保證?
移動產品設計的十大可用性原則
你會犯哪些網頁設計最常見可用性錯誤?
可用性測試中的「身臨其境」
哈中軟分享:如何定義數據中心的可用性
確保戰略保障區戰備:後勤信息可用性
您的數據策略達到高可用性了嗎?