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

SonarQube启动后立即停止问题求助(Windows 10环境)

解决SonarQube启动失败(H2数据库Chunk 545 not found)的方案

核心问题定位

报错Chunk 545 not found [2.1.214/9]是H2数据库文件损坏的典型表现,这直接导致Web Server启动失败,进而让SonarQube服务启动后立刻停止。

修复步骤

1. 备份数据(必做)

找到SonarQube安装目录下的data文件夹,完整复制到安全位置,防止操作失误丢失现有数据。

2. 修复损坏的H2数据库文件

  • 进入SonarQube安装目录的lib文件夹,找到h2-2.1.214.jar(对应你的SonarQube版本自带的H2包)
  • 打开命令行,执行修复命令:
    java -cp h2-2.1.214.jar org.h2.tools.Recover
    
    执行后会在当前目录生成修复后的SQL脚本sonar.h2.db.recovered.sql(默认对应data/sonar/sonar.h2.db文件)

3. 重建数据库

  • 确保SonarQube服务完全停止(任务管理器中结束所有相关Java进程)
  • 删除sonarqube-9.8.0.63668\data\sonar目录下的所有文件
  • 执行脚本重建数据库:
    java -cp h2-2.1.214.jar org.h2.tools.RunScript -url jdbc:h2:./data/sonar/sonar -user sonar -password sonar -script sonar.h2.db.recovered.sql
    
    注:如果你的SonarQube配置了自定义的H2用户名/密码,替换命令中的sonar和sonar为对应值。

4. 验证启动

执行startsonar.bat启动服务,查看web.log是否消除H2相关报错,访问http://localhost:9000确认服务正常。

后续建议

  • H2数据库仅适合测试环境使用,长期运行或频繁写入容易出现文件损坏问题,建议生产环境切换到MySQL、PostgreSQL等稳定的关系型数据库。
  • 确保始终使用SonarQube官方要求的JDK版本(你的场景是JDK 11),避免版本不兼容导致的异常。
  • 启动SonarQube时不要使用管理员权限,防止文件权限异常引发数据库损坏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:31:03