Para restaurar un backup de bases de datos con comando SQL podemos hacer lo siguiente:
CREATE DATABASE [dbname]; -- Creamos la base de datos (si ya esta creado no es necesario)
RESTORE DATABASE [dbname]
FROM DISK = ‘RUTA_DEL_ARCHIVO_BACKUP’ -- Es la ruta del respaldo que tenemos
WITH REPLACE,
MOVE ‘dbname_Data’ TO ‘RUTA_DE_DESTINO/dbname_Data.MDF’, -- Ruta del archivo de base de datos o donde queremos ponerlo
MOVE ‘dbname_Log’ TO ‘RUTA_DE_DESTINO/dbname_Log.LDF’ -- igual que el anterior pero para el log
Esto lo podemos hacer desde el SQL Query Analizer o cualquier apliacion que nos permita ejecutar sentiencias SQL sobre la base de datos.
(NOTA: Migrado del sitio antiguo)
En ocasiones sucede que el nombre de la base de datos o copia de seguridad no se corresponden con el ID de base de datos contenida en copia de seguridad, por ejemplo, tenemos una base de datos llamada SYS, pero cuando se creó se llama SYS-SA, por o tanto los nombres inicial de los datos y los ficheros de log se SYS_SA_Data y SYS_SA_Log.
Si tratamos de recuperarla necesitamos saber los nombres de estos archivos, para esto podemos utilizar la siguiente instrucción SQL, que muestran esta información y que también nos da el tipo, tamaño y el tamaño máximo de la base de datos.
RESTORE FILELISTONLY
FROM DISK = 'RUTA_DEL_ARCHIVO_BACKUP' -- Esta es la ruta del archivo Backup
(NOTA: Migrado del sitio antiguo)