SQL Server内存异常:执行小查询/空查询仍触发mscorlib内存不足错误
解决SSMS操作时出现"Insufficient memory to continue the execution of the program. (mscorlib)"错误
以下是针对该问题的排查和修复步骤,按顺序尝试:
1. 清理SSMS用户配置残留
卸载后未清理的用户配置可能导致异常,手动删除以下路径的文件夹:
C:\Users\[你的用户名]\AppData\Roaming\Microsoft\SQL Server Management StudioC:\Users\[你的用户名]\AppData\Local\Microsoft\SQL Server Management Studio
删除后重新下载对应版本的最新SSMS安装包进行安装,避免使用旧安装文件。
2. 限制SSMS的内存使用
打开SSMS(若能启动),通过以下步骤调整内存设置:
- 点击工具 → 选项 → 环境 → 内存
- 降低「可用内存的百分比」(例如从80%改为50%)
- 勾选「限制SSMS使用的最大内存(MB)」,根据系统总内存设置合理值(如4096MB)
- 重启SSMS后测试操作
3. 修复.NET Framework
错误来自mscorlib,大概率和.NET Framework有关:
- 打开控制面板 → 程序和功能 → 打开或关闭Windows功能,确认.NET Framework 4.8(SSMS 19.x要求的版本)已启用
- 运行官方的.NET Framework修复工具,修复可能的损坏文件
4. 检查系统内存与进程占用
- 打开任务管理器(Ctrl+Shift+Esc),查看内存使用率,关闭占用大量内存的进程(如浏览器、大型办公软件)后重试
- 检查
Ssms.exe进程的内存占用,若未操作就占用过高,说明配置或安装仍有问题,回到步骤1重新操作
5. 调整SQL Server实例的内存限制
如果连接本地SQL Server实例,避免SQL Server占用过多系统内存:
- 若能连接实例,右键实例 → 属性 → 内存,设置合理的「最大服务器内存(MB)」(例如系统总内存16GB的话,设置为10240MB)
- 若无法通过SSMS连接,用管理员命令行启动
sqlcmd,执行以下命令调整:sp_configure 'show advanced options', 1; RECONFIGURE; sp_configure 'max server memory', 10240; -- 按需修改数值 RECONFIGURE;
6. 排查硬件内存问题
- 运行管理员命令行执行
wmic memorychip get Capacity,DeviceLocator,检查内存条是否被系统正常识别 - 使用Windows内存诊断工具(控制面板搜索「内存诊断」),排查硬件层面的内存故障
内容的提问来源于stack exchange,提问作者Thần Vực
相关产品推荐
相关产品推荐

