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.
