La pregunta arriba indicada me la hizo Ricardo Chavez por Facebook. Como todavía no se me habia presentado no he podido hacer el artículo respectivo.
Yo, al ser MVP, le oriente en que paginas podía encontrar la solución simplemente.
A cambio le pedí que me hiciera un word con la resolucióon y que el texto lo publicaría en mi blog Aquí va como resolvio su problema.
Hoy nos encontramos con un servidor de base de datos que se quemó la tarjeta madre y no teníamos respaldo de la base de datos por lo que debíamos recuperarlas por los archivos .mdf pero el log estaba corrupto por lo que arrojo en primera instancia el siguiente error después de pasar el siguiente script.
CREATE DATABASE MyDatabase ON (FILENAME = 'E:\Database\MyDatabase.mdf')
FOR ATTACH
Seguidamente tratamos de adjuntar la base de datos reconstruyendo el log con el script
CREATE DATABASE MyDatabase ON (FILENAME = 'E:\Database\MyDatabase.mdf')
FOR ATTACH_REBUILD_LOG
Pero nos dio el siguiente error
La solución fue la siguiente:
1-. Crear base de datos desde el Management Studio.
2-. Pasarla a estado de emergencia.
ALTER DATABASE BBDD SET EMERGENCY
3-. Para los servicios de SQL
4-. Copiar y pegar el archivo .mdf en la carpeta data de la instancia correspondiente (Reemplazar el que se creó por el que tenemos originalmente).
5-. Inicial los servicios SQL
6-. Ponemos la base de datos como Single User
ALTER DATABASE BBDD SET SINGLE_USER
7-. Hacemos un CHECKDB
DBCC CHECKDB (BBDD, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS
8-. Dejamos la base de dato BBDD como multiusuario y accesible
ALTER DATABASE BBDD SET MULTI_USER
Bueno, espero que os valga esta solución cundo se os presente el caso.
Y como no,invitaros a pasar por el grupo de facebook:
https://www.facebook.com/groups/juankartips/
y os ayudaré a resolver sus dudas u a orientars como hacerlo. No hacer los deberes por ti