Recuperar una base de datos cuando sólo se tiene el archivo MDF de una base de datos de SQL Server

27 Abr 2026

Procedimiento

Este procedimiento es aplicable en SQL

 Server 2005 y en SQL

 Server 2008.

1. En SQL

 Server Management Studio iniciamos la sesión con el usuario "sa".

2. En el Explorador de objetos > bases dedatos, hacer clic en el nodo derecho y seleccionar la opción "Adjuntar …" de la lista desplegable.

3. Esto abre la ventana "Adjuntar bases dedatos" donde se encuentra el botón "Agregar …" que abre la ventana "Buscar archivos debases dedatos".

4. En la ventana "Buscar archivos debases dedatos" seleccionar el fichero MDF de la basededatos que carece de fichero LDF.5. En la ventana "Adjuntar bases dedatos", SQL

 Server informa de que el archivo de registro no se encuentra. Con el fin de adjuntar la basededatos sin el fichero de registro de transacciones LDF hay que pulsar sobre el registro del fichero LDF, pulsar el botón "Quitar" y, finalmente, hacer clic en "Aceptar" para adjuntar la basededatos sin el fichero deregistro de transacciones.

Hemos adjuntado una basededatos sin utilizar el archivo de registro de transacciones. SQL

 Server crea un nuevo archivo de registro de transacciones y lo coloca en la misma carpeta que el archivo dedatos. Se recomienda ejecutar una instrucción DBCC CHECKDB sobre la basededatos adjuntada para comprobar su integridad.

Uso de T-SQL para adjuntar una base de datos de SQL Server sin un archivo de registro de transacciones

También puede adjuntar una basededatosdeSQL

 Server sin un registro de transacciones con el siguiente código T-SQL

.

En este script utilizamos la instrucción CREATE DATABASE con la opción de adjuntar y especificando el nombre y la ubicación del archivo MDF que tenemos de la basededatos.

USE [master]

GO

CREATE DATABASE [COMU] ON

(FILENAME=C:\Archivosdeprograma\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\COMU0001.mdf ')

FOR ATTACH

GO

Una vez ejecutado el script con éxito obtenemos un mensaje informando de que SQL

 Server ha creado un nuevo archivo de registro de transacciones de la basededatos. Se recomienda comprobar la integridad física y lógica de todos los objetos dentro de la basededatos mediante la ejecución de un DBCC CHECKDB.

Hay que tener en cuenta los siguientes puntos:

  • Si la basededatos tiene datosde múltiples archivos se puede utilizar este método, así como crear un nuevo archivo de registro de transacciones.
  • Si la basededatos tenía varios archivos de registro de transacciones emplearemos la opción ATTACH_REBUILD_LOG con el comando CREATE DATABASE.
  • Si pierde uno de sus archivos dedatos para una basededatos no puede utilizar este procedimiento.