Sql-Server

MSSQL 2008 r2 Express:資源池“內部”中的系統記憶體不足,無法執行此查詢

  • March 30, 2015

我在 DotNetNuke 安裝的生命週期中遇到了這個錯誤。我已經更改了託管伺服器,現在我有一個帶有 IIS 8 的 Windows Server 2012 和在同一台機器上執行的 SQL Server 2008 r2 Express:64 位,12GB di RAM。

該站點可以完美執行 4 或 5 個小時,直到隨機開始在 SQL Express 日誌中給出上述錯誤,然後實例數據庫不再接受連接。

如果我重置 IIS,sql server 會釋放記憶體,一切都會再次正常執行!

怎麼會這樣?

提前致謝!

如果有幫助的話,我會在這裡放一些日誌條目:

2015-03-24 19:05:26.01 spid15767 錯誤:701,嚴重性:17,狀態:89。
2015-03-24 19:05:26.01 spid15767 資源池“內部”中的系統記憶體不足,無法執行此查詢。
2015-03-24 19:05:26.03 spid15767 錯誤:18056,嚴重性:20,狀態:29。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:35.20 伺服器錯誤:17300,嚴重性:16,狀態:1。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:35.20 伺服器錯誤:17300,嚴重性:16,狀態:1。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:35.20 伺服器錯誤:17300,嚴重性:16,狀態:1。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:35.20 伺服器錯誤:17300,嚴重性:16,狀態:1。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:35.20 伺服器錯誤:17300,嚴重性:16,狀態:1。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:40.21 伺服器錯誤:17300,嚴重性:16,狀態:1。(參數:)。錯誤以簡潔模式列印,因為在格式化過程中出現錯誤。跟踪、ETW、通知等被跳過。
2015-03-24 19:05:45.75 spid15773 錯誤:701,嚴重性:17,狀態:123。
2015-03-24 19:05:45.75 spid15773 資源池“內部”中的系統記憶體不足,無法執行此查詢。
2015-03-24 19:06:01.24 spid3s 
記憶體管理器知識庫
---------------------------------------- ----------
虛擬機保留 12651576
虛擬機承諾 1529500
分配的鎖定頁數 0
保留記憶體 1024
使用中的保留記憶體 0
2015-03-24 19:06:01.24 spid3s 
記憶體節點 ID = 0 KB
---------------------------------------- ----------
虛擬機保留 12650488
虛擬機送出 1528472
分配的鎖定頁數 0
多頁分配器 23840
單頁分配器 1371672
2015-03-24 19:06:01.24 spid3s 
MEMORYCLERK_SQLGENERAL(節點 0)KB
---------------------------------------- ----------
虛擬機保留 0
虛擬機已送出 0
分配的鎖定頁數 0
SM 保留 0
SM 承諾 0
單頁分配器 15536
多頁分配器 3824
2015-03-24 19:06:01.24 spid3s 
MEMORYCLERK_SQLBUFFERPOOL(節點 0)KB
---------------------------------------- ----------
虛擬機保留 12615680
虛擬機送出 1495168
分配的鎖定頁數 0
SM 保留 0
SM 承諾 0
單頁分配器 0
多頁分配器 400
2015-03-24 19:06:01.24 spid3s 
MEMORYCLERK_SQLQUERYEXEC (節點 0) KB
---------------------------------------- ----------
虛擬機保留 0
虛擬機已送出 0
分配的鎖定頁數 0
SM 保留 0
SM 承諾 0
單頁分配器 48
多頁分配器 0
2015-03-24 19:06:01.24 spid3s 
MEMORYCLERK_SQLOPTIMIZER(節點 0)KB

我已經在我的 Windows Server 2012 上進行了所有 Windows 更新,然後我搬到了 MSSql Server 2014 Express。

現在一切都很好!

謝謝大家。

這可能是SQL 中的錯誤

當您在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 中執行使用複合詞的全文查詢時,您會在錯誤日誌文件中收到以下錯誤消息:

日期時間 spidID 錯誤:701,嚴重性:17,狀態:123。

日期時間 spidID 資源池“內部”中的系統記憶體不足,無法執行此查詢。

此外,如果您在發生此問題後成功執行全文查詢,您會收到相同的錯誤消息。

出現此問題的所有原因如下:

  • 用於評估執行排序操作需要多少行集的程式碼中有一個錯誤。因此,程式碼大大高估了行集的數量。對於需要排序的每個行集,所需的全文授權估計為 64 頁。
  • 有一個大請求阻止系統使用為全文查詢保留的記憶體。

看起來 DotNetNuke 的某些模組可能會使用全文。

引用自:https://serverfault.com/questions/678007