服务器环境大致情况如下 : 操作系统: microsoft windows server 2003 r2 enterprise edition service pack 2 数据库 : microsoft sql server 2005 - 9.00.5000.00 (intel x86) 。 机器物理内存8g,开启了使用awe分配内存选项(u) 在这台服务器上,创建you
服务器环境大致情况如下:
操作系统: 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
网上搜索了一下,发现蛮多人也遇到个这个错误:,但是也没有一个定论。
于是也按那些人讨论的,检查服务器环境:物理内存,数据库版本,免备案空间,awe是否开启,最大服务器内存,clr enabled 配置等等
sp_configure 'clr enabled'
name minimum maximum config_value run_value
----------------------------------- ----------- ----------- ------------ -----------
clr enabled 0 1 1 1
但是,折腾了很长时间,也没搞清真正的出错原因,没办法,只能祭出大杀器”重启sql server服务,然后重新创建yoursqldba数据库,创建相关存储过程、函数等。暂时记录一下这个问题,等有空闲或下次遇到时候,再想想办法解决它。