Sep 252008
I received a phone call from a colleague last night who was trying to remember the process for fixing TempDB if the disk goes missing. The server had crashed, and the disk that TempDB was assigned to was not available, and so SQL Server could not start. It’s not the most common problem so it took a few minutes to remember how to do it.
Restart SQL Server with the command line parameter -T3608, and then run alter database commands to move the location of TempDB:
ALTER DATABASE TempDB MODIFY FILE (name = tempdev, filename = 'E:\Data\tempdb.mdf') GO ALTER DATABASE TempDB MODIFY FILE (name = templog, filename = 'F:\Logs\templog.ldf') GO
Restart SQL Server without -T3608, and TempDB should be created in the new location.
The alternative is to not reconfigure SQL Server at all, but rename an existing disk to the missing drive letter, just to get SQL Server started.