2009-08-14 66 views
0

我需要一些帮助非常糟糕。 我正在研究一个项目,其中大量数据始终输入。这是一个报告软件。SQL SERVER 2008 - 内存泄漏,同时存储数百万条记录

10万条记录中的平均存储每天,它可能继续增加随着用户的增加。

截至目前,SQL服务器消耗的在任务管理器RAM 5GB。我现在在我的服务器上有一个8GB的RAM。

其他企业如何管理此类情况?

+2

如果你从这次体验中只学到一件事,你应该知道“高内存消耗”不一定与“内存泄漏”相同,甚至可能不是“问题*”。 – 2009-08-14 11:25:30

+0

如果你给sql server 8Gb,期望它使用它。分页开始时开始担心。 – 2009-08-14 12:52:57

回答

6

SQL Server高效地使用内存并尽可能多地使用内存。它通常也足够聪明,在需要时释放内存。

使用5GB的意思是:

  • SQL Server配置为5GB或SQL Server已简单地保留正常使用期间该内存
  • 它的左3GB,因为它并不需要使用它

没什么是错的...我可能配置SQL Server最大内存为6.5GB ...

延迟添加:Jonathan Kehayias blog entry

5

SQL服务器通常使用尽可能多的内存,因为它可以得到它的双手,因为它然后存储更频繁访问的数据在内存中更有效率,因为磁盘访问速度较慢,则内存访问。

所以没有什么是错误使用的内存5GB它。
说实话,它为其他应用程序和操作系统留下了3GB内存,所以可能没有任何问题。 (如果这是所有服务器设计的目的)。

要配置的内存限制,请执行下列操作:

  • 在SQL Server企业管理器,右击服务器名称,并转到属性。
  • 点击内存选项
  • 减少最大的服务器内存,你认为是恰当的。
  • 点击确定。
2

我高度怀疑,这其实就是内存泄漏。 SQL Server的内存使用量的增加是由设计决定的,因为它缓存了很多东西(查询,过程)。 你最有可能看到的是,如果仍然存在的可用内存不足,SQL服务器将'刷新'其内存,并且事实上最终会看到内存将被释放。