我已经编写了一个程序来提取存储在数据库中的PDF文件,并将它们存储到文件系统中。这将针对包含约200万条记录的表格执行。该程序以每个查询1000个文档块的形式抓取数据(这些数据是使用小型c#应用程序并行执行的)。SQL缓冲区页面快速增加SQL Server内存使用率
我面临的问题是SQL Server的内存使用情况。我最终得到了一个异常,并且需要终止程序(我没有异常细节了),并且分配的内存似乎被缓冲区页面使用。运行程序5分钟后,我执行了194'443页,占用1519MB的内存。
我已经尝试使用DBCC DROPCLEANBUFFERS
这个工作,但是这不是一个选项,因为我将在客户网站上运行此程序,并且不想影响任何其他数据库。
有没有人知道一种方法来防止SQL Server将内存中的页面存储,或者刷新使用的内存的特定部分,而不影响该实例内的任何其他数据库?
我使用C#应用程序连接到数据库。我的数据提供程序使用PetaPoco,它使用System.Data.SqlClient
类连接到SQL Server数据库。
发布代码。在你的描述中,没有可用于帮助你的信息。你如何连接到数据库?你在使用'USING'语句吗?有未决连接吗?看看[这里](http://stackoverflow.com/help/how-to-ask)提示如何问。 – Paolo
我已更新我的问题。谢谢。 – Fish
您是否正确配置了最大内存?你是否在同一台服务器上运行其他应用程序? SQL Server不应该只是用尽内存 –