【发布时间】:2017-06-28 18:53:12
【问题描述】:
在 SSMS 中运行大型程序时,我会不时在屏幕上收到以下消息:An error occurred while executing batch. Error message is: Exception of type 'System.OutOfMemoryException' was thrown.
问题是,一旦抛出此错误,除了重新启动机器之外似乎没有任何喘息的机会。我知道这是我机器上的内存问题,这根本不会影响服务器;但是,对于开发人员来说,在中午重新启动从来都不是一件令人愉快的事情。
任何帮助将不胜感激!
【问题讨论】:
-
为什么必须重新启动?如果您运行的是 32 位版本的 SSMS,它可能只使用了 4GB 的 RAM。根本没有理由重新启动。只需重新运行查询或使其返回较小的数据集或其他东西
-
我使用的是 64 位。一旦我收到该消息,它似乎就完成了。即使我尝试在另一个窗口(使用另一个连接)中运行
SELECT 1 + 1,它仍然会失败并出现同样的错误 -
当这种情况发生时你能发布你正在执行的查询吗?只发生一个查询或多个查询是否一致?是不是 1 个表导致了这种情况?你限制你的批次吗?您是否优化了查询?
-
关闭 SSMS 应该会终止事务并释放内存。
-
升级到 2017 或降级到 2014。SSMS 2016 存在内存未释放的错误,因此在某个时间点之后,即使是最轻的查询也可能导致 OOM。 sqlservercentral.com/blogs/confessions-of-a-microsoft-addict/…
标签: sql-server ssms ssms-2016