


Something like this C:\SQL_Data\master.mdf and C:\SQL_Log\mastlog.ldf. I have my master database data file and log file in separate sub folders in one drive. The old path looks like it was assuming there would be a "data" folder in the root. They aren't even in a folder called "Data". What does SQLDataRoot need to be if I keep the system databases in a separate folder then the user databases? As Daniel mentioned, there seems to be an assumption that there is a DATA folder in the root.Īccording to the Microsoft documentation,, they mention to set the SQLDataRoot value to the "new path", which I guess is exactly how it was presented in this article here.

The only time you'd normally restore it is if you're bringing back a server from the dead - you wouldn't usually want to restore master from one database to another. It's a system database where SQL Server stores internal objects. So clearly SQLDataRoot, at least by default, should not directly be the same folder that contains the master db. The master database is special, different than other databases. The default SQLDataRoot value is: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL The master db is stored in: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA I am also wondering about SQLDataRoot, it is not quite clear to me. Thank you so much for this article and on how to move the System databases.
