Recuperar base de datos SQL sin Ldf

Recuperar base de datos sql(mdf) sin ldf

Necesitamos restaurar un archivo .mdf en una instancia diferente desde la que viene, debido
a que esa instancia tiene algún problema y no la podemos iniciar.

Al cerrarse mal la instancia por un error en el disco o en el servidor ,
al adjuntar el archivo .mdf nos dice que el .ldf está corrupto o no existe en la copia que queremos recuperar.

Para poder adjuntar el archivo .mdf sin el .ldf hay que seguir los pasos siguientes:

Crear la base de datos con el mismo nombre que la que vamos a adjuntar.
En este ejemplo la base de datos la he llamado BBDD.
Dejar la base de datos en estado de EMERGENCIA.

ALTER DATABASE BBDD SET EMERGENCY

Para los servicios de la instancia de SQL, y renombrar o eliminar el .mdf y .ldf.
Restaurar o copiar el .mdf que traemos de otro sitio en el lugar que el anterior.
Iniciar los servicios de SQL Server.
Ponemos la base de datos en estado de usuario único.

ALTER DATABASE BBDD set single_user

Pasar un checkdb para comprobar y reparar la base de datos.

DBCC CHECKDB (BBDD , REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS

La anterior, hay que ejecutarla 2 veces, ya que la primera vez que la pasamos sale el mensaje diciendo que no está el .ldf
que lo generará de nuevo, y la segunda vez es cuando la ejecuta.

Dejamos la base de datos en MULTIUSUARIO y lista para funcionar.

ALTER DATABASE BBDD SET MULTI_USER

Este es el script completo para ejecutarlo línea por línea.

–******************************************************************

— RECUPERAR BASE DE DATOS SIN LDF *

–******************************************************************

— 1.- Crear base de datos desde Management Studio
— 2.- Dejar base de datos en estado de emergencia

— 3.- Parar servicios de SQL, renombrar .mdf y .ldf
— 4.- Poner .mdf de la bbdd a recuperar
— 5.- Iniciar los servicios de SQL

–Vemos el estado en el que está la base de datos

–Ponemos la base de datos como sigle user

–Pasamos un checkdb sobre la base de datos

–Dejamos la base de datos BBDD como multiusuario y accesible

Si todo ha salido bien ya debe estar opertativa. Un Saludo a todos.

Suscribete a mi cana en youtube y o suscribete en la web para obtener notificaciones de los nuevos post. y ya saber si te sirvio comenta.

 

3 comentarios en “Recuperar base de datos SQL sin Ldf”

  1. disculpa no ejecuta la sentencia:

    ALTER DATABASE BBDD set single_user

    me sale que no esta actualizada la version 661, que tengo que actualizar

    lo que pasa es que es un mdf que me envia un compañero, pero sin el archivo ldf y quiero restaurarlo pero no me permite, e intentado hacer esto pero tmpoco, no puedo sacarlo del Estado EMERGENCY

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.