1. 程式人生 > >There is insufficient system memory to run this query 錯誤

There is insufficient system memory to run this query 錯誤

版本 system sql nim 分享 想想 ros creat board

服務器環境大致情況如下

操作系統: Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2

數據庫 : Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) 。

機器物理內存8G,開啟了“使用AWE分配內存選項(U)"

技術分享

在這臺服務器上,創建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];

GO

網上搜索了一下,發現蠻多人也遇到個這個錯誤:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/81cd3698-10b2-4a67-ad92-fa123cef2caa/there-is-insufficient-system-memory-to-run-this-query-error-when-running-checkdb,但是也沒有一個定論。

於是也按那些人討論的,檢查服務器環境:物理內存,數據庫版本,AWE是否開啟,最大服務器內存,clr enabled 配置等等

sp_configure ‘clr enabled‘

name minimum maximum config_value run_value

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

clr enabled 0 1 1 1

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

There is insufficient system memory to run this query 錯誤