How Can I Read Where TempDB's Files Will Be Created After Restoring Master DB?
-
09-12-2020 - |
Question
I'm restoring to an alternate server in a DR drill and have restored master but can't restart the instance, even with /f and /m switches. The log is indicating tempdb can't be created, probably looking for the paths from the source instance. How can I determine which path it's trying to create tempdb's DB files in?
I was able to restore the master backup under an alternate name on a different instance so I can browse the system tables. Is there a spot where I can look for them?
I have to go with the assumption that access to the source server is lost so I can only rely on the backups to determine the correct configuration.
Solution
Refer to Instance will not start
There is a section called: TempDB location does not exist
, you should be able to see the location in the SQL server log
OTHER TIPS
Start SQL Server in minimal config mode, master only configuration, from a command prompt:
[path to this instance]\Binn\sqlservr.exe -c -f -T3608
(Add -s InstanceName incase it is named instance.)
Now, in a different command prompt, connect using SQLCMD:
> sqlcmd -E
now change the path of the tempdb and shutdown
> ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, filename = 'E:\Data\tempdb.mdf');
> ALTER DATABASE tempdb MODIFY FILE (NAME = templog, filename = 'E:\Data\tempdb.mdf');
> SHUTDOWN WITH NOWAIT;
> GO
Now start SQL Server