Changing database settings from H2 to SQL Server


Need your support here.
I am trying to evaluate SonarQube 9.3 community edition in a windows platform. Managed to deploy the tool by following the documentation. After executing the .bat file

  1. i am able to open the Administration page [http://localhost:9000] but it continuous to display Loading status when accessed from the same system whereas when i tried to access it from a different system i am able to view the page & its contents
  2. Once i am inside the system info page under the administration menu, i am able to see only the default database H2 is being used. Though I made specific changes to the file to use SQL Server. Wondering whether this could be due to some limitations imposed on the edition that is being used. Kindly help me overcome the challenges and would be great if you could share the limitations in detail as well.

Many Thanks in advance


Welcome to the community!

Nope! You have full functionality in each edition (you just add functionality as you go up the edition escalator).

What do your server logs say?


Hi - As far as i know I couldn’t find anything different including any errors or issues in the logs. I verified by clearing all the logs for current date and started service. I could see only INFO and very few WARN across all the log files.

Though I have commented the default database H2 portion in the conf and uncommented SQL Server section, application continue to use only the default H2 database. I could see this line as part of the service startup sequence… sonarqube-\lib\jdbc\h2\h2-1.4.199.jar. Nowhere my SQL settings are taking precedence in the startup sequence.

Also, in the sonar properties file i could see the following info

# - The embedded H2 database is used by default. It is recommended for tests but not for
#   production use. Supported databases are Oracle, PostgreSQL and Microsoft SQLServer.
# - Changes to database connection URL (sonar.jdbc.url) can affect SonarSource licensed products.

Not sure whether the default database can be changed since the last time (as mentioned above) has something specific about the licensing T&C


Yes, you can change the DB. You have full access and full rights to do so.

If you’ve correctly specified the connection values for SQL Server, then SonarQube should be connecting to it. If it’s not connecting, then either

  • the server logs, probably web.log will have errors
  • not all the values to make a connection were present & SonarQube is falling back to the default: H2 (yes, despite the fact that that’s commented out in the config file)


hi there,
not sure if this would help you but i had a similar issue 2 months ago. although my environment is different than yours, the underlying idea should be the same. i was not able to switch my database to ms sql even after i changed the database settings in sonar properties. the only way i got sonarqube to use ms sql was when i put both sonarqube and ms sql configuration into one docker-compose file. with this setup, sonarqube and ms sql are able to communicate to each other, i.e., they are for sure on the same network.

Hi - Appreciate all your inputs on this. Actually it helped me a lot to go back and check step by step to narrow down on the exact reasons.

i think the issues are due to understanding problem, After going through the first few lines of the file i changed the properly values within the file from lowercase to uppercase wherever i need to override the default values with an alternate one without realizing that it is meant only for environment variables.

# Property values can:
# - be overridden by environment variables. The name of the corresponding environment variable is the
#   upper-cased name of the property where all the dot ('.') and dash ('-') characters are replaced by
#   underscores ('_'). For example, to override 'sonar.web.systemPasscode' use 'SONAR_WEB_SYSTEMPASSCODE'.

Now after reverting to its original convention with relevant SQL Server details, am able to establish the connection and view those details in the admin page.

i am currently working on finding possible reasons for the issues that i am currently facing after changing the default sonar.web.context property value to a custom one. Though the website comes up without any issues, but when i tried to change the default password [first step] it goes back to the login page without effecting the changes to the password. Not sure whether it is due to some technical reasons for this page alone or to do with some other settings.

Many thanks

1 Like


I’m glad you worked through the settings problem!

If you have questions about logging in with a custom web context, please do open a new thread for it. We would probably need to do a deep dive & it will be much cleaner as a separate topic.