症狀
假設你在一台運行 Windows Server 2012 或較早版本 Windows 作業系統的電腦上安裝了 64 位元版本的 Microsoft SQL Server 2014、2016 或 2017。 當 SQL Server 使用所有使用者模式虛擬位址空間時,您可能會在 SQL Server 錯誤日誌中收到記憶體外錯誤訊息。 此外,查詢執行時間較長,且會產生SOS_MEMORY_TOPLEVELBLOCKALLOCATOR等待。
當你檢視以下資訊點時,你會發現可用的虛擬位址空間非常有限:
- DBCC 記憶體狀態 - 程序/系統計數區塊 - 可用虛擬記憶體
- 車輛管理局:sys.dm_os_process_memory - 第virtual_address_space_available_kb欄
這些數值在 x64 程序上起初約 8 TB (TB) ,並逐漸下降,) (數 GB。
當你處於虛擬位址空間非常低的階段時,嘗試執行記憶體分配的查詢也可能遇到等待型的 CMEMTHREAD。
以下數據點將隨時間持續增加:
- 車輛管理局:sys.dm_os_process_memory與sys.dm_os_memory_nodes - 第virtual_address_space_reserved_kb欄
- DBCC MEMORYSTATUS - 記憶體管理員區段 - VM 已保留
這些數值通常會以「最大伺服器記憶體」值的倍數增加,最高可達近 8 TB。
註 相關問題也在 知識庫3074434中描述。
解決方式
此更新包含在以下 SQL Server 的累積更新中:
累積更新10 for SQL Server 2014 Service Pack 2
關於 SQL Server 的累積更新:
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
註 套用此更新後,必須新增追蹤旗標 8075 作為啟動參數,才能啟用此變更。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。