Encontré esta solución y funcionó, la dejo aquí por si le sirve a alguien
Los pasos siguientes explican cómo puede crear una base de datos tempdb nueva. Con esta solución alternativa, puede iniciar correctamente el servicio de SQL Server.
1. Si existen, cambie el nombre de los archivos Tempdb.mdf y Templog.ldf actuales. Si no existen, ésta es una posible razón del estado sospechoso: los archivos no están.
2. Inicie SQL Server desde un símbolo del sistema con el comando siguiente:
Código:
sqlservr -c -f -T3608 -T4022
Para las instancias con nombre de SQL Server 2000, tiene que agregar el parámetro -s adicional.
En un clúster de SQL Server 7.0, debe ejecutar primero esta instrucción:
Código:
set _CLUSTER_NETWORK_NAME=nombreVirtualDeSQL
Esto permitirá que SQL Server se inicie desde el símbolo del sistema.
Nota
Asegúrese de que la ventana del símbolo del sistema permanece abierta una vez iniciado SQL Server. Si se cierra la ventana del símbolo del sistema, se termina el proceso de SQL Server.
3. Conéctese al servidor con el Analizador de consultas y, a continuación, utilice el procedimiento almacenado siguiente para restablecer el estado de la base de datos tempdb.
Código:
exec master..sp_resetstatus Tempdb
4. Cierre el servidor presionando CTRL+C en la ventana del símbolo del sistema.
5. Reinicie el servicio de SQL Server. De esta forma, se crea un nuevo conjunto de archivos de base de datos tempdb y se recupera la base de datos tempdb.
Nota
La variable de entorno crea un nuevo conjunto de archivos de base de datos tempdb cuando se reinicia el servicio de SQL Server. Para quitar la variable de entorno, ejecute la instrucción siguiente:
Código:
set _CLUSTER_NETWORK_NAME=
Aquí está el enlace original de donde lo saqué
http://support.microsoft.com/kb/288809/es