症狀
假設你使用的是 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 用來說明軟體更新的術語。