KB4470916 - 修正:當資料庫節點記憶體 (KB) 在 2014 年SQL Server 2016 年低於 2% 時,會發生記憶體不足錯誤

套用到
SQL Server 2014 Service Pack 2 - 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 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 2014 或 2016。 當你檢查 NUMA 節點的可用記憶體使用量時,你會發現資料庫節點記憶體 (KB) 不到目標大小的 2%。 當發生這種情況時,你可能會收到以下「記憶體不足」錯誤訊息:

日期/時間 spid36s 未能分配 BUFs:FAIL_BUFFER_ALLOCATION 1

即使 SQL Server 有充足的記憶體,這個問題仍然存在。 

原因

當資料庫節點記憶體 (KB) 低於目標大小的 2%,且無法再丟棄該節點上的資料庫頁面以取得空閒頁面時,可能會發生「記憶體不足」錯誤。

狀態

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

解決方式

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

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

套用此修正後,當本地節點的資料庫頁面數低於目標頁面的 2% 以下時,SQL Server 將能從遠端緩衝節點收回頁面。

參考資料

了解 Microsoft 用來說明軟體更新的術語