SQL Server链接服务器查询内存不足

时间:2009-06-03 05:49:57

标签: sql-server foxpro linked-server

我在网络共享上有一个DBF文件,我正在尝试将其选入SQL Server表。

此查询:

SELECT * FROM OPENQUERY(MyLinkedServer, 'SELECT * FROM DP')

...抛出此错误:

链接服务器“MyLinkedServer”的OLE DB提供程序“MSDASQL”返回消息“[Microsoft] [ODBC Visual FoxPro驱动程序]没有足够的内存用于文件映射。”。
Msg 7399,Level 16,State 1,Line 11 链接服务器“MyLinkedServer”的OLE DB提供程序“MSDASQL”报告错误。提供商内存不足 Msg 7320,Level II,State 2,Line 11 对于链接服务器“MyLinkedServer”,无法对OLE DB提供程序“MSDASQL”执行查询“SELECT * FROM DP”。

我已经阅读过使用SYS(3050)来释放FoxPro的内存。我无法弄清楚如何针对链接服务器执行该操作。

2 个答案:

答案 0 :(得分:4)

链接服务器查询使用名为memToLeave的SQL Server缓冲池之外的区域中的内存,该区域用于服务连接线程,现在还有sql clr。在32位上,它的大小为384 MB,这在某些情况下可能不合适。

如果您需要调整SQL Server内存配置,特别是memToLeave区域,您可以在以下博客中找到解释:

SQL Server Memory Configuration, Determining memToLeave Settings

答案 1 :(得分:0)

如果您运行的是SQL Server 2005甚至是2008 SP1或更早版本,则会出现内存泄漏问题的修补程序:http://support.microsoft.com/kb/974130