You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

每日出现sqlsqm.exe未处理异常报错,请求技术排查协助

解决sqlsqm.exe触发的System.IO.FileLoadException报错

我之前碰到过好几次这个报错,sqlsqm.exe是SQL Server自带的服务质量监控工具,它的崩溃基本都是因为依赖的程序集加载失败,下面是我亲测有效的排查和修复步骤:

1. 先修复.NET Framework 4.0

报错里明确标注了Framework版本是v4.0.30319,优先排查这个版本的.NET是否损坏:

  • 以管理员身份打开命令提示符,运行系统文件扫描修复命令:
    sfc /scannow
    
    这个命令会自动扫描并修复系统中损坏的文件,包括.NET相关的核心组件。
  • 如果sfc修复无效,直接下载.NET Framework 4.0的安装包,覆盖安装后重启系统,确保组件完整。

2. 修复SQL Server的SQM相关组件

报错的核心是Microsoft.SqlServer.Sqm.Launcher.Main方法抛出异常,说明SQL Server的SQM组件可能损坏或缺失:

  • 打开SQL Server安装中心,切换到「维护」标签页,选择「修复」选项,选中对应的SQL Server实例后按照向导完成修复,安装程序会自动校验并修复缺失的SQM相关程序集。
  • 修复完成后,重启SQL Server服务和SQL Server Agent服务,确保组件生效。

3. 检查sqlsqm.exe的运行权限

有时候进程权限不足,会导致无法读取依赖的DLL文件:

  • 找到sqlsqm.exe的默认路径(一般在C:\Program Files\Microsoft SQL Server\<你的SQL版本号>\Shared),右键点击文件选择「属性」→「安全」标签,确认SQL Server的服务账号(比如NT SERVICE\MSSQLSERVER)拥有「读取和执行」的权限。
  • 如果权限缺失,添加对应账号并赋予读取执行权限,之后重启相关服务。

4. 临时禁用SQM收集(应急方案)

如果需要先停止日志刷屏,可以暂时关闭SQL Server的SQM数据收集功能:

  • 打开SQL Server Management Studio(SSMS)连接到目标实例,执行以下T-SQL命令:
    sp_configure 'show advanced options', 1;
    RECONFIGURE;
    sp_configure 'SQL Server System Monitor', 0;
    RECONFIGURE;
    
    这个操作会阻止sqlsqm.exe启动,但只是临时解决,建议还是完成前面的排查找到根本原因。

内容的提问来源于stack exchange,提问作者vannak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:15:47