SQL Server 2016升级到13.0.15700.28版本后频繁出现System.OutOfMemoryException

2024-06-24

我在具有多个显示器、16 GB DDR4 RAM、4 Ghz I7、GTX 970 的开发盒上运行 Windows 10 Pro 64 位。我使用 SQL Server 2016 Developer Edition 和 VS 2015 Enterprise Update 3 运行 SQL Management Studio。

昨天我将 Sql Management Studio 2016 升级到 13.0.15700.28,这对我的机器来说就像一颗毒丸。现在一两个小时后,它会抛出内存不足的错误,除了:

执行批处理时出错。错误信息是:异常 抛出“System.OutOfMemoryException”类型

现在,如果您正在执行超过几百万行的非常大的返回集,这有时是典型的。不是如果你正在做

Select Top 10 * from SmallObject

我正在为现有开发系统的新对象创建一些新表和过程。这一切都是突然发生的,没有任何规律或原因。这似乎也是 SSMS 的部分阻塞错误,因为它现在冻结系统并尝试打开连接对话框窗口,就像我第一次启动 SSMS 并尝试连接到数据源一样。到目前为止,它一直在爬行,直到我从任务管理器中杀死它。我还运行 Redgate 的 SQL Prompt 7.2.0.241。我尝试过的事情:

  1. 尝试一次将标签保持在五个以下,并在完成后关闭它们。
  2. 请勿将标签从一个屏幕折断到另一屏幕。
  3. 关闭Redgate,看看它是否是罪魁祸首
  4. 随时检查内存使用情况

我知道昨晚我上班时它爆炸了,SSMS 让我知道它崩溃了。这可能是一个 MS 错误,但 Redgate 或我拥有的其他一些配置中可能存在错误,所以我认为最好询问一下并看看其他人看到了什么。此 SSMS 版本截至 2016 年 8 月 15 日,因此非常新。

应用程序事件日志堆栈跟踪中的两个错误:事件 1026

应用程序:ssms.exe 框架版本:v4.0.30319 说明: 由于未处理的异常,进程被终止。异常信息:

System.ComponentModel.Win32Exception 位于 System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams) 在 System.Windows.Forms.Control.CreateHandle() 处 System.Windows.Forms.ComboBox.CreateHandle() 在 System.Windows.Forms.Control.CreateControl(布尔)位于 System.Windows.Forms.Control.CreateControl(布尔)位于 System.Windows.Forms.Control.CreateControl(布尔)位于 System.Windows.Forms.Control.CreateControl(布尔)位于 System.Windows.Forms.Control.CreateControl(布尔)位于 System.Windows.Forms.Control.CreateControl() 位于 System.Windows.Forms.Control.WmShowWindow(System.Windows.Forms.Message 通过参考)在 System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message 通过参考)在 System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message 通过参考)在 System.Windows.Forms.Form.WmShowWindow(System.Windows.Forms.Message 通过参考)在 System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef) 在 System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message 通过参考)在 System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef) 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr, Int32、IntPtr、IntPtr)

另一个是事件日志 1002 错误“应用程序挂起”,我可以看到没有真正有意义的帮助:

ssms.exe 2015.130.15700.28 68ac 01d1f98d17a32d16 4294967295 C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe 62a64950-658b-11e6-a2c8-f832e4a07FDA

54006F00700020006C006500760065006C002000770069006E0064006F0077002000690073002000690064006C00650000000000

2016 年 8 月 23 日更新:

仍然时不时地出现这个错误:

程序 Ssms.exe 版本 2015.130.15700.28 停止交互 与Windows并被关闭。看看是否有更多关于 存在问题,请检查安全性和问题历史记录 维护控制面板。进程 ID:35f8 开始时间: 01d1fca7e48da2da 终止时间:4294967295 应用程序路径: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe 报告 ID: 4e8b6ab9-693f-11e6-a2cb-f832e4a07fda 错误包全名:
错误包相关应用程序 ID:

显然,这对于我以外的人来说是一个问题,因为我在这里获得了投票:https://connect.microsoft.com/SQLServer/feedback/details/3062914/system-outofmemoryexception- thrown-by-even-small-selects-randomly-now https://connect.microsoft.com/SQLServer/feedback/details/3062914/system-outofmemoryexception-thrown-by-even-small-selects-randomly-now

如果您遇到过这种情况或知道潜在的解决方法,请告诉我。此时,如果我必须执行繁重的 SQL 工作,我会考虑降级。我再次使用的是 Windows 10 64 位计算机,这仅在升级到最新的 SSMS 版本后发生。

更新于 2016 年 8 月 24 日

MS 现在似乎承认了这个错误。如果您遇到这种情况,请转到此链接并投票:https://connect.microsoft.com/SQLServer/feedback/details/3074856 https://connect.microsoft.com/SQLServer/feedback/details/3074856

更新于 2016 年 8 月 31 日

MS 关于异常的最新消息:

Microsoft 于 2016 年 8 月 29 日上午 10:21 发布 事实证明,有一个 实用程序类中的线程泄漏。泄漏的线程数将为 与您拥有的注册服务器数量成正比 事物。下一版本将提供修复

我降级了,因为工作比弄清楚发生了什么更重要。降级对我来说现在工作正常。我提供了 MS SQL 转储,因此希望他们能够在未来几周内获得新的版本。如果你好奇的话,我使用的是 13.0.15600.2 版本,到目前为止我还很稳定,因为我两天前降级了。


我有同样的问题。我只是关闭并重新打开 SQL Server。能够克服错误。

An error occurred while executing batch. Error message is: 
Exception of type 'System.OutOfMemoryException' was thrown.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2016升级到13.0.15700.28版本后频繁出现System.OutOfMemoryException 的相关文章

  • SQL查询获取列的精度值

    我需要一个 SQL 查询来获取某些列的精度值 我主要关心十进制类型列 并且我需要相同的精度值 我意识到在某些版本和数据库服务器供应商中可以这样做 如果您能列出其中的一些 那就太好了 对于 SQL 服务器 select precision f
  • SSRS报告不显示数据

    我刚刚创建了 SQL Server 2005 SSRS 报告 数据未显示在预览窗格中 数据集是根据字符串参数从存储过程正确填充的 我可以在数据窗格中执行它 在预览窗格中运行报表时 会显示正确的行数 但单元格的内容不包含任何数据 源数据集基于
  • 即使在不活动状态下,Hangfire 也会继续运行 SQL 查询

    我正在开发一个 ASP net MVC 5 网站 并使用 Hangfire 来安排一些任务 在本例中每 3 分钟一次 我知道一个事实是 运行这样的任务 以及与之相关的数据库查询 只需要几秒钟 我面临的问题是 Hangfire 似乎让我的 S
  • ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?

    在 INFORMATION SCHEMA ROUTINES 视图中 存在 ROUTINE NAME 和 SPECIFIC NAME 按照MSDN http msdn microsoft com en us library ms188757
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 删除 Sql 服务器中最后一次出现特殊字符之前的子字符串

    我想删除最后一次出现句点之前的子字符串 查询应该转换r k Lee Brown to Lee Brown 所以 基本上我需要最后一个点之前的子字符串 并将其替换为 尝试这个 SELECT RIGHT str CHARINDEX REVERS
  • 如何从表中选择层次结构中的最低级别

    我有一个具有父 子关系的表 Table A Column Id int Column Parent Id int Column Description text 一组示例数据如下 999 NULL Corp 998 999 Div1 997
  • SQL限制数据库中的最小值和最大值

    CREATE TABLE TBL CD CDnr int identity 1 1 CDTitel nvarchar 80 NOT NULL CDduur int CDprijs smallmoney 所以我正在创建这个表 有什么方法可以将
  • 无法在 SSIS 查找中选择 ODBC 源

    我正在创建一个用于更新 SQL Server 中的表的包 要更新的详细信息是从 MySQL 数据库获取的 为此 我使用 ODBC 连接管理器连接到 MySQL 但此 ODBC 连接管理器未在 OLE DB 连接管理器中列出 我可以在 Too
  • 选择仅属于特定部门的用户

    我有下表 其中包含两个字段 即 a 和 b 如下所示 create table employe empID varchar 10 department varchar 10 插入一些记录 insert into employe values
  • 将包含数字的列的类型从 varchar 更改为 int

    数据库中有两列 当前类型为 varchar 16 事实是 它包含数字并且永远包含数字 因此我们想将其类型更改为整数 但问题是它当然已经包含数据了 有什么方法可以将该列的类型从 varchar 更改为 int 并且不会丢失其中已有的所有数字
  • 有没有办法使用 SqlBulkCopy 而不将数据转换为 DataTable?

    有没有办法使用 SqlBulkCopy 而不将数据转换为 DataTable 我在 RAM 中有一个对象列表 List 我真的不想使用更多内存来创建数据表 是否可以在列表上实现 IDataReader Thanks 我当然想象你可以 Bul
  • t-sql计算文本列中的唯一单词

    我有一列包含图像标题 我想做的是找到该栏中出现的最流行的单词 有没有办法用 t sql 来做到这一点 我认为你可以做这样的事情 我认为这不是最优化的 但您可以对其进行改进 创建一个表变量 t来存储单词 创建一个游标 循环浏览字幕表中的每一行
  • 声明日期,然后添加下一个工作日

    我没有得到我需要的结果 我想做的就是声明我的日期 然后添加下一个工作日 IE CASHDATE 1 这有效 但我需要下一个工作日是 5 号 DECLARE CASHDATE DATETIME SET CASHDATE 2016 12 02
  • 合并和替换函数

    我试图用 替换查询中的所有空值 因为我们的接口不接受 NULL 作为条目 我遇到了一段代码 其中我使用 REPLACE 函数删除 SSN 中的 DASHES 我如何告诉系统为 SSN 列中的 NULL 值提供 并且仍然对非空条目 SSN 执
  • 将 XML 文件导入 SQL Server(不使用 BULK)

    我正在尝试将数据从 XML 文件导入到数据库中 我使用了一个测试脚本BULK INSERT 但是当我在实时数据库上进行测试时 权限BULK被禁用 尝试 1 BULK INSERT XMLTable FROM C Radu test xml
  • Sql Server Management Studio 的完整正则表达式语法

    是否有 Sql Server Management Studio 中使用的正则表达式语法的完整描述 例如 必须有一种方法可以进行负向查找 但查找 替换对话框没有列出 SSMS 版本 2005 2012 实际上只是修改 自定义的 Visual
  • 如何处理 FOR XML PATH/AUTO 中的空白值 - SQL Server?

    有没有人对这种 SQL Server 行为有任何见解或遇到过 当空白值转换为数据类型时 char 或具有 的列char 作为数据类型 处理使用For XML PATH 它返回 XML 结果 20 空格的特殊字符编码 当相同的空白值转换为va
  • 如何在SQL Server数据库的所有表的所有列中搜索特定字符串?

    我们想要在拥有大约 120 个表的所有数据库中搜索一个字符串 即 Hello World 我们考虑过像 mysql dump 一样进行转储 但它以奇怪的 bak 格式出现 应在每个表的每一列中进行搜索 任何类型的脚本都可以做到这一点 或者这
  • PowerShell:带有 Get-Credential 的 invoke-sqlcmd 不起作用

    我从未见过如此简单的脚本会如此失败 SQLServer localhost cred Get Credential invoke sqlcmd ServerInstance SQLServer Credential cred Query s

随机推荐