我們在日常升級或是更換服務器的時候,如果遇到開始使用好好的,用著用著,用戶就很慢很卡,而且用戶不間斷的提示緩存池中的可用內存不足,那我們就要注意SQL內存不足了。
如下圖提示:
我們也知道SQLSERVER設置可用內存是在數據庫屬性-內存頁簽查看。
但是這是計算機提供給最大內存空間,其實在SQLSERVER中,也有內存的限制。SQLSERVER的各個版本中對內存的規模支持是不同的,如下圖:
我們可以通過執行SQL語句 select @@version來查看目前的數據庫版本。不同的版本有不同的支持,比如Express版本,即使給他配100G,也不能發揮計算機性能。
查看版本后我們就可以通過語句查看內存池的大小。如果我們的版本只有1410M,但是使用卻超過大于此規模,勢必會導致數據庫查詢執行很慢。
select SUM(pages_kb)/1024 as SizeMB FROM sys.dm_os_memory_clerks
所以,遇到這個情況或是想要避免這種情況,請將SQLSERVER的版本更換為企業版。