KB4469268 - 修正:BPE 檔案的 I/O 錯誤會導致緩衝區逾時SQL Server

套用到
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) 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 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

症狀

假設你有一個 2014、2016 或 2017 SQL Server Microsoft實例,且啟用了緩衝池擴充 (BPE) 。 若 BPE 檔案發生 I/O 錯誤,可能會停用 BPE,並記錄類似以下緩衝區逾時錯誤:

注意

L2緩衝池寫入錯誤......
緩衝池擴充功能已成功停用。 刪除緩衝池擴充「file_path」。
在等待緩衝鎖存時發生了一次超時——類型 4...
錯誤:845,嚴重程度:17,狀態:1。
在等待頁面 (page_id) 的緩衝區鎖存類型 4 時發生逾時...
錯誤:5901,嚴重程度:16,狀態:1。
屬於資料庫「database_name」的一個或多個復原單元未能產生檢查點。 這通常是因為系統資源不足,如磁碟或記憶體,或在某些情況下是資料庫損壞所致。 請查看錯誤日誌中先前的條目,以獲得更詳細的故障資訊。
在等待緩衝區鎖存時發生了一次超時——類型 3......

當此問題發生時,部分孤立的緩衝區暫存會持續存在,且任何操作如 DBCC CHECKDB、CHECKPOINTING 或 BACKUP LOG 都會失敗。

如果你更新到 SQL Server 2014 Service Pack 1 的累積更新 1,這個錯誤仍然無法解決。

解決方式

累積更新資訊:

此問題已在 SQL Server 的以下更新中修正:

累積更新14 for SQL Server 2017

Cumulative Update 5 for SQL Server 2016 Service Pack2

Cumulative Update 1 for SQL Server 2014 Service Pack 3

累積更新15 for SQL Server 2014 Service Pack 2

關於 SQL Server 的累積更新

每次 SQL Server 的累積更新都包含了前一個版本中所有的熱修補與安全修補。 我們建議您安裝最新版本的 SQL Server:

SQL Server 2017 最新累積更新

SQL Server 2016 最新累積更新

SQL Server 2014 的最新累積更新

按需熱修補資訊:

此問題已在以下 SQL Server 按需熱修正更新中修正:

SQL Server 2016 SP2 CU4 的隨需熱修正更新

狀態

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

參考資料

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