症狀
請考慮以下案例:
- 你使用 Microsoft SQL Server 2012、2014 或 2016 AlwaysOn 可用性群組。
- 當故障轉移發生時,主要副本會變成新的次要副本。
- 部分 LSN 必須在新的次要複本上解除。
- 在復原過程中會發生死結,與故障轉移相關的交易會被 SQL 鎖管理器選為死鎖的受害者。
在此情境下,新的次要副本會停止接受交易日誌紀錄,直到實例重新啟動。 此外,SQL Server 錯誤日誌中每隔幾分鐘會記錄一個類似以下類型的鎖存逾時錯誤訊息:
注意
在等待緩衝區鎖存期間發生逾時——類型 3,bp 0000003CE3093CC0,頁面 1:0,狀態0x9,資料庫 ID:11,分配單元 ID:6488064,任務 0x0000001436F2A558 :0,等待時間 300 秒,旗標0x100000001a,擁有任務 0x0000001436F2A558。 繼續等待。
使用 'dbghelp.dll' 版本 '4.0.5'
**傾倒執行緒 - spid = 0,EC = 0x0000001038514B90
堆疊傾倒被送往 file_path
* *******************************************************************************
* 開始堆疊傾倒:
*
約會時間spid spid
* 閂暫停
* *******************************************************************************
解決方式
此問題已在以下 SQL Server 累積更新中修正:
Cumulative Update 5 for SQL Server 2016 RTM
Cumulative Update 2 for SQL Server 2016 SP1
累積更新3 for SQL Server 2014 Service Pack 2
Cumulative Update 11 for SQL Server 2014 SP1
關於 SQL Server 的累積更新
關於 SQL Server 的累積更新
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來描述軟體更新的 術語 。