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

SQL Server 2017(含全文搜索)不定期崩溃,错误码0x00000006

解决SQL Server 2017不定期崩溃(错误码0x00000006)的方案

针对你遇到的SQL Server 2017不定期崩溃问题——不管是Ubuntu 16.04还是Windows环境都出现,甚至数据库空闲、仅存在DBeaver连接时也会触发错误码0x000000006(对应*"The handle is invalid"*,即句柄无效)——我整理了社区验证过的排查和解决步骤:

1. 先检查全文搜索服务的状态与权限

你安装了mssql-server-fts模块,这个服务的异常是触发崩溃的高频原因:

  • Ubuntu环境:用命令查看服务状态sudo systemctl status mssql-server-fts,确保服务处于active状态且无异常日志;尝试重启服务sudo systemctl restart mssql-server-fts后观察情况。
  • Windows环境:打开服务管理器,找到「SQL Server Full-text Filter Daemon Launcher」服务,确认它用默认的NT Service\MSSQLFDLauncher账户运行(不要随意修改账户权限),尝试重启服务。

2. 升级到SQL Server 2017最新累积更新(CU)

SQL Server 2017早期版本存在已知的全文搜索句柄泄漏BUG,空闲状态下也可能触发崩溃:

  • Ubuntu环境:执行命令完成升级,确保SQL Server和全文搜索模块版本一致:
    sudo apt-get update
    sudo apt-get install mssql-server
    sudo apt-get install mssql-server-fts
    
  • Windows环境:通过Microsoft Update或手动下载最新CU包安装,注意同步更新全文搜索相关组件。

3. 排查DBeaver连接的潜在兼容性问题

虽然崩溃时只有DBeaver连接,但部分配置可能触发异常:

  • 检查DBeaver的连接属性,关闭「自动获取元数据」「全文搜索预加载」这类功能,重新连接后观察;
  • 换用其他客户端(比如SSMS、sqlcmd)连接数据库,确认是否还会崩溃,以此排除DBeaver的兼容性问题。

4. 分析错误日志与转储文件定位根源

崩溃发生时SQL Server会生成关键日志,这是精准定位问题的核心:

  • Ubuntu环境:默认错误日志路径为/var/opt/mssql/log/errorlog,用tail -n 50 errorlog查看崩溃前后的日志条目;
  • Windows环境:通过SSMS的「管理」→「SQL Server日志」查看,或到C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Log路径下查找日志;
  • 如果有内存转储文件,可用WinDbg(Windows)或gdb(Ubuntu)加载分析,确认是否是全文搜索模块的句柄异常导致崩溃。

5. 验证并重建全文目录

全文目录损坏也可能引发服务崩溃:

  • 运行以下T-SQL命令检查所有全文目录状态:
    SELECT name, is_enabled, status_description 
    FROM sys.fulltext_catalogs;
    
  • 若发现状态异常,执行命令重建对应目录:
    ALTER FULLTEXT CATALOG [你的目录名称] REBUILD;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:45:50