Thursday, April 9, 2009

Restaurando la BD model en SQL.

Hace unos días, se hizo un restore de la base de datos model en el servidor backup por error, el problema fue que se hizo con la opción "With norecovery", esto ocasionó que se detuviera el servicio de SQL y ya no se pudiera levantar.

Buscando en internet, solamente encontré un artículo de Microsoft, explicando el problema y como solucionarlo el problema es que ese artículo no aplica para SQL 2005. Tambien encontré en un newsgroup de Microsoft una persona que le sucedió lo mismo y le explicaron un procedimiento y si no funcionaba se tenia que hacer un rebuild de la instalación.

Despues de estar intentando de diferentes maneras hacer levantar el servicio, al final pude hacerlo siguiente este procedimiento:

1. Levantar el servicio en single-user, con las opciones -c -m -T3608
2. Conectarse al servidor usando el comando osql
3. Hacer un detach de la base de datos:
use master
go
sp_detach_db 'model'
go
4. Copiar los archivos model.mdf y modellog.ldf a las mismas rutas del servidor (tienen que ser de otro servidor que tenga el mismo Service Pack de SQL)
5. Hacer el attach:
use master
go
sp_attach_db 'model','c:\Ruta\del\archivo_mdf','c:\ruta\del\archivo_ldf'
6. Detener el servicio de SQL y levantarlo normalmente.

Espero les sirva.