Hi, my name is David, and I'm a GSE for Dell Technologies. Today I'd like to talk about troubleshooting Microsoft SQL Server Services not starting. There's more than one place we can look, but where we want to start is at the System Event, so we'll pull up the ‘Event Viewer’, expand out the ‘Windows Logs’, and go to the ‘System’ event logs. We'll scroll down and we'll look for any of the events that have ‘SQL Server’. Should be a red error.
That’s the agent, and there's the server itself. Now, it's saying here that there's components that are missing. Doesn't really give us a whole lot of information there, so a better place to look would be in the SQL Error Log. Now, the SQL Error Log is going to be installed wherever you installed the SQL binaries to run to the engine.
If you're unsure of that, you can pull up your ‘Configuration Manager’ and for the service itself if you go to ‘Properties’ and then under the properties go to ‘Startup Parameters’ and you'll see the ‘-e’. If we look, that is the error log. So we'll go to that location, which was our ‘C:\’, ‘Program Files’, ‘Microsoft SQL Server’, our engine, which – MSSQL15 is going to be SQL Server 2019 – ‘MSSQL’, and then we go to ‘Log’, and here is our newest Error Log. Open it in Notepad, and by the way this this log does, the reason why there's more than one Error Log in here, is it gets recycled each time the engine starts or the log itself fills up and gets too large.
The newest is always just ‘ERRORLOG’. So, if we open that, and we open it with Notepad, expand it out, in the top of the log if you take a look you can see that it gives a lot of information about SQL Server itself and what hardware you have installed, but at the end of the log it'll tell you why it didn't start. So right here ‘SQL Server detected a logical consistency-based I/O error’, so basically it is a corrupt database, but which database is corrupt? It is the master. The master is required to start SQL Server, so if I was to replace the master database the server should come up. That being said there are required databases for SQL Server to start, ‘Master’ obviously then you also have the ‘Model’ database the ‘Temp’ database and the MSDB.
The model database is exactly what it says, it's the model for all new databases. Moving on to the temp database, which is recreated every single time SQL starts, it is a copy of the model database and it works a lot like a swap file where all your temporary actions are moved to that database first and then disperse where they need to go. Well, that's all I've got, thank you for your time and I hope you have a good day.