SQL Server Management Studio (SSMS) 2012:内存使用异常高(泄漏?)

7

任务管理器

内存使用量为1.3GB。我正在运行Windows 7 Ultimate 64位操作系统。 我没有做太多的事情 - 只是在编辑一个存储过程(没有后台运行的查询,也没有任何查询结果)。

不过我注意到,这种情况只是偶尔发生 - 好像某种垃圾回收机制启动时,它就会恢复正常(大约100MB)。

有什么想法/解决方法/更新吗?

  • 关于这个问题的最新消息:看起来在SSMS 2014中不再出现这种情况了。

这里也有同样的问题 - 你在运行任何第三方插件吗? - Tim Ferrell
TFerrell - 没有,绝对没有第三方。 - YS.
3个回答

13
似乎关闭 IntelliSense 后,内存消耗显著减少,软件响应更加迅速。要关闭它,请转到 工具 -> 选项 -> 文本编辑器 -> Transact-SQL -> IntelliSense,然后取消勾选框。保存您的工作并重新启动 SSMS。

主要缺点是您将失去 IntelliSense 和代码大纲。这很糟糕,但至少您可以长时间打开 SSMS 而不会出现问题。

希望这有所帮助。干杯。


关闭 IntelliSense 在我的情况下似乎并没有节省任何内存——几个小时后大约是 280 MB,现在一个小时后是 230 MB。看起来对内存有巨大影响的是自定义颜色方案:使用自定义颜色时大小为 1.7 GB,使用默认颜色时为 280 MB。这是在 2012 年的 SSMS 中。 - ajeh
这个可行,你是正确的,它禁用了一个有用的功能,但我没有这样做就不能有效地在 SSMS 中工作。 - Dave
1
@Dave: 同意 - 这会使得处理大型存储过程文件变得更加困难,但正如我所提到的 - 我可以将SSMS保持打开状态,并且长达数天地打开几十个存储过程文件而没有任何问题。在过去(SQL 2008之前),代码大纲和Intellisense甚至都不可用,但我们仍然编写了大量复杂的SQL代码。情况并不像看起来那么糟糕,但您需要稍微修改一下工作模式(充分利用代码缩进、建模图等)。 - Roman

3

在存储过程编辑的几个版本的SSMS中,出现了这个问题。

在SSMS 17中,对于我来说解决问题的方法是将智能感知“最大脚本大小”从1M提高到5M。也可以选择无限制。 选项位置:工具:选项:文本编辑器:Transact-SQL:智能感知:最大脚本大小。 我不确定这个设置是否存在于较低版本的SSMS中,请在评论中添加。

这将把高CPU和内存泄漏(从2.5G到140M)降至正常水平。

参考msdn链接


0

我在设计存储过程时遇到了这个问题。当我在编写一些动态SQL代码时,进程会失控,应用程序也会变得无响应。但是一旦我关闭Intellisense,这种行为就消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接