#CertifyMe
Friday, 7 November 2014
Tuesday, 8 July 2014
SQL Server will not start. There is not enough disk space for tempdb.
With a large tempdb data file located on C:\ the service
would not start. The following message was in the log file.
Could not create tempdb. You
may not have enough disk space available. Free additional disk space by
deleting other files on the tempdb drive and then restart SQL Server. Check for
additional errors in the event log that may indicate why the tempdb files could
not be initialized.
Unfortunately there was no way to free up the required space
and the only way to start SQL would be to move the tempdb file location. Catch
22, we need to start SQL to move the files.
The way to accomplish this is to start SQL using trace flag
3608. This trace flag tells SQL not to start up any databases except master.
From a command prompt:
net start MSSQLSERVER /f /t3608
/f: Minimal configuration mode
/t: Start SQL Server with the specified trace flag
Once SQL Server is running you can connect with SQLCMD using
a dedicated admin connection (DAC) from the command promt.
sqlcmd -A -S MyServer -q"ALTER
DATABASE tempdb MODIFY FILE (NAME = 'tempdev', FILENAME =
'H:\MSSQL\DATA\tempdb.mdf', SIZE = 2048MB, FILEGROWTH = 2048MB);"
sqlcmd -A -S MyServer -q"ALTER DATABASE tempdb MODIFY FILE (NAME = 'templog', FILENAME =
'G:\MSSQL\DATA\templog.ldf', SIZE = 1024MB, FILEGROWTH = 1024MB);"
-A: Use DAC
-S: Server Name
-q: Command
Now stop and restart SQL Server and Bob’s your aunty.
Subscribe to:
Posts (Atom)