天天看點

There is insufficient system memory to run this query 錯誤

伺服器環境大緻情況如下:

作業系統:   microsoft windows server 2003 r2 enterprise edition service pack 2

資料庫  :   microsoft sql server 2005 - 9.00.5000.00 (intel x86) 。

機器實體記憶體8g,開啟了“使用awe配置設定記憶體選項(u)"

There is insufficient system memory to run this query 錯誤

在這台伺服器上,建立yoursqldba後,配置過程中建立函數的時候,報如下錯誤,重試了幾次都是如此,但是其它應用從來沒有出過這個錯誤,而且這是一台生産伺服器,很多應用在跑,是以這才是讓我納悶的地方:

消息 701,級别 17,狀态 13,過程 clr_getfolderlist,第 1 行

there is insufficient system memory to run this query.

消息 701,級别 17,狀态 13,過程 clr_getfolderlistdetailed,第 1 行

There is insufficient system memory to run this query 錯誤

其實這兩個函數也沒特别之處,而且在其它64資料庫上,也沒有碰到過類似的錯誤。

create function yutl.clr_getfolderlist (@folderpath nvarchar(4000), @searchpattern nvarchar(4000))

returns table ([filename] nvarchar(255))

as external name [yoursqldba_clrfileop].[clr_fileoperations.fileopcs].[clr_getfolderlist];

go

create function yutl.clr_getfolderlistdetailed (@folderpath nvarchar(4000), @searchpattern nvarchar(4000))

returns table ([filename]

nvarchar(255), [fileextension] nvarchar(255), [size] bigint,

[modifieddate] datetime, [createddate] datetime)

as external name [yoursqldba_clrfileop].[clr_fileoperations.fileopcs].[clr_getfolderlistdetailed];

于是也按那些人讨論的,檢查伺服器環境:實體記憶體,資料庫版本,awe是否開啟,最大伺服器記憶體,clr enabled 配置等等

sp_configure 'clr enabled'

name                                minimum     maximum     config_value run_value

----------------------------------- ----------- ----------- ------------ -----------

clr enabled                         0           1           1            1

但是,折騰了很長時間,也沒搞清真正的出錯原因,沒辦法,隻能祭出大殺器”重新開機sql server服務",然後重新建立yoursqldba資料庫,建立相關存儲過程、函數等。暫時記錄一下這個問題,等有空閑或下次遇到時候,再想想辦法解決它。