KB3207327 - 修正:在故障轉移時,新的次要副本停止接受交易日誌紀錄,直到實例在 SQL Server 重新啟動

套用到
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

症狀

請考慮以下案例:

  • 你使用 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

累積更新7 for SQL Server 2012 SP3

關於 SQL Server 的累積更新

關於 SQL Server 的累積更新

每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:

     SQL Server 2016 最新累積更新

SQL Server 2014 最新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來描述軟體更新的 術語