Most of the DBA’s may face issue with system databases when starting sql service starts. It will not start if any of the system database has an issue.
1.master database issues:
a. Corruption & page errors : Rebuild the master and restore master db from backup file via SQLCMD after starting sql services with -m parameter (single user mode). Next , you may need to restore msdb, model database in most of the cases, because restoring master will still look for the msdb/model db files and if not found, it won’t start.
b. filename modified, access issue , file path issue: Correct the issue depend on the error from event viewer and start the sql service.
2.For msdb and model db corruption:
You need to make sure master db is restored from backup or rebuild the master and in working condition.
Now , Sequence is from model db, because model is required for tempdb clearing.
To first recover model, start the sql services now with startup parameter – T3608. This will help sql server start with only master database .Sometime , you need to use -T3609 also in order to stop sql server to clear the tempdb while starting up. ie., T3608 ;T3609 – pass both in startup parameter
Now restore the model and msdb database from backup via SQLCMD.
If the tempdb is corrupted, use t3608 to start the sql and via SQLCMD , using alter database command need to use for modifying the tempdb . Then, stop and restart the sql without any parameter.