我安装了最新版本的SonarQube 6.5,并且能够启动并运行SonarQube服务器。我的SQL Server数据库名为'Sonar',用名为'SonarUser'的用户创建,并赋予它管理员权限。我已将整理更改为区分大小写(CS)和区分重音(AS)。 我已经下载了jdbc驱动程序并将其放在正确的文件夹中。 按照此处提到的步骤进行操作 - https://docs.sonarqube.org/display/SONAR/Installing+the+Server
但是,我无法使Windows身份验证或SQL Server身份验证工作。数据库仍然是空的,并且没有在那里看到表/索引。
我正在对'sonar.properties'文件进行以下更改 - 一次1个 - 但它不起作用
SQL身份验证
sonar.jdbc.username=SonarUser
sonar.jdbc.password=SonarUser
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=Sonar
Windows身份验证
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=Sonar;
integratedSecurity=true
当我对'sonar.properties'文件进行任何更改然后启动Sonar Server时,它会因以下错误而失败 -
2017.10.03 16:59:09 INFO app [] [o.s.a.AppFileSystem]清理或创建临时目录C:\ Sonarqube-6.5 \ temp 2017.10.03 16:59:09 INFO app [] [o.s.a.p.JavaProcessLauncherImpl]启动进程[es]:C:\ Program Files \ Java \ jre1.8.0_101 \ bin \ java -Djava.awt.headless = true -Xmx1G -Xms256m -Xss256k -Djna.nosys = true -XX:+ UseParNewGC -XX:+ UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction = 75 -XX:+ UseCMSInitiatingOccupancyOnly -XX:+ HeapDumpOnOutOfMemoryError -Djava.io .tmpdir = C:\ Sonarqube-6.5 \ temp -cp ./lib/common/; ./ lib / search / org.sonar.search.SearchServer C:\ Sonarqube-6.5 \ TEMP \ SQ-process1211130103830390174properties 2017.10.03 16:59:19 INFO app [] [o.s.a.SchedulerImpl]进程[es] up 2017.10.03 16:59:19 INFO app [] [o.s.a.p.JavaProcessLauncherImpl]启动进程[web]:C:\ Program Files \ Java \ jre1.8.0_101 \ bin \ java -Djava.awt.headless = true -Dfile.encoding = UTF-8 -Xmx512m -Xms128m -XX:+ HeapDumpOnOutOfMemoryError -Djava.io.tmpdir = C:\ Sonarqube-6.5 \ temp -cp ./lib/common/; ./ LIB /服务器/ ; C:\ Sonarqube-6.5 \ lib中\ JDBC \ MSSQL \ MSSQL-JDBC-6.1.0.jre8.jar org.sonar.server.app.WebServer C:\ Sonarqube-6.5 \ TEMP \ SQ-process7396503632227644033properties 2017.10.03 16:59:23 INFO app [] [o.s.a.SchedulerImpl]进程[web]停止 2017.10.03 16:59:24 INFO app [] [o.s.a.SchedulerImpl]进程[es]停止 2017.10.03 16:59:24 INFO app [] [o.s.a.SchedulerImpl] SonarQube停止< - Wrapper Stopped
如果我撤消'sonar.properties'文件中的更改,并运行StartSonar.bat - 服务器运行正常。 任何帮助将不胜感激。
答案 0 :(得分:2)
我终于能够解决这个错误,并能够配置我的SQL数据库。在web.log文件中,我看到了错误消息 -
不支持的mssql版本:10.0。支持的最低版本是11.0。
基本上我运行的是旧版本的SQL Server,这导致了这个错误。一旦我使用上述步骤在SQL Server 2014中创建了一个数据库,我就能够毫无问题地运行SonarQube实例。所有必需的表都在数据库中创建。我还确认,当您针对我的项目运行SonarQube时,会在表中插入记录。