如何看看是什么让SQL Server在启动后增长而没有做任何其他事情

时间:2014-03-10 15:29:54

标签: sql-server memory sql-server-2008-r2

当我启动SQL Server时,它不会停止增长,并在几分钟内达到超过一千兆字节。我已经多次重启服务,每次都做同样的事情。每次重新启动服务后,我都不启动任何应用程序,也没有打开会使用SQL Server的应用程序。

  1. 我关闭了SQL代理只是为了确保它没有运行任何东西。
  2. 我试过看看分析器是否会显示正在运行但没有看到任何内容。
  3. 我尝试运行查询以查看运行时间最长的查询,但似乎没有任何问题。
  4. 我想知道还有哪些其他选项可以尝试找出导致SQL Server不断增长的原因?

2 个答案:

答案 0 :(得分:2)

您可以配置最大内存使用量:http://technet.microsoft.com/en-us/library/ms178067.aspx

答案 1 :(得分:0)

如果你真的想看看SQL Server在RAM中缓存什么,那么看一下sys.dm_os_buffer_descriptors DMV:

sys.dm_os_buffer_descriptors

此DMV将为缓冲池中的每个页面返回一行,它将告诉您它是什么类型的页面,它将告诉您它属于哪个数据库。

SQL Server中可以吃RAM的另一件事是计划缓存,您可以通过引用相关的DMV(sys.dm_exec_cached_plans)及其周围的相关函数来查看。

有很多资源可用于如何使用这些DMV来分析计划缓存和缓冲池的内容,因此您将能够准确地告诉SQL Server正在使用所有这些内存。

之前的答案是正确的,但您确实需要设置max server memory属性以防止SQL Server在所有RAM中运行,特别是在这种情况下,它似乎是一个问题。