A system comprising: at least one data processor; and memory storing instructions which, when executed by the at least one data processor, result in operations comprising: establishing a connection to an in-memory database, IMDB; automatically detecting an IMDB version of the IMDB by running an initial script; selecting at least one script from a plurality of scripts based on the detected IMDB version, wherein differences among the plurality of scripts relate to data parameter differences in different IMDB versions; causing the selected at least one script to be executed to return data of a type recognized in the detected IMDB version; selecting at least first and second database diagnostic parameters from a plurality of database diagnostic parameters and causing respective first and second database diagnostic scripts to be run in parallel, wherein the first and second database diagnostic parameters relate to different database views; processing the output of the first and second database diagnostic scripts together; modifying at least a third database diagnostic script based on the output of the first and second database diagnostic script; executing the modified third database diagnostic script; and generating a report from the modified third database diagnostic script to be displayed via a graphical user interface, GUI. at least one data processor; and memory storing instructions which, when executed by the at least one data processor, result in operations comprising: establishing a connection to an in-memory database, IMDB; automatically detecting an IMDB version of the IMDB by running an initial script; selecting at least one script from a plurality of scripts based on the detected IMDB version, wherein differences among the plurality of scripts relate to data parameter differences in different IMDB versions; causing the selected at least one script to be executed to return data of a type recognized in the detected IMDB version; selecting at least first and second database diagnostic parameters from a plurality of database diagnostic parameters and causing respective first and second database diagnostic scripts to be run in parallel, wherein the first and second database diagnostic parameters relate to different database views; processing the output of the first and second database diagnostic scripts together; modifying at least a third database diagnostic script based on the output of the first and second database diagnostic script; executing the modified third database diagnostic script; and generating a report from the modified third database diagnostic script to be displayed via a graphical user interface, GUI. establishing a connection to an in-memory database, IMDB; automatically detecting an IMDB version of the IMDB by running an initial script; selecting at least one script from a plurality of scripts based on the detected IMDB version, wherein differences among the plurality of scripts relate to data parameter differences in different IMDB versions; causing the selected at least one script to be executed to return data of a type recognized in the detected IMDB version; selecting at least first and second database diagnostic parameters from a plurality of database diagnostic parameters and causing respective first and second database diagnostic scripts to be run in parallel, wherein the first and second database diagnostic parameters relate to different database views; processing the output of the first and second database diagnostic scripts together; modifying at least a third database diagnostic script based on the output of the first and second database diagnostic script; executing the modified third database diagnostic script; and generating a report from the modified third database diagnostic script to be displayed via a graphical user interface, GUI.