Si está utilizando el enfoque de secuencia de comandos y tiene un error relacionado con los archivos LDF y MDF, primero puede consultar el archivo de copia de seguridad para los nombres lógicos (y otros detalles) de los archivos en el conjunto de copia de seguridad, utilizando lo siguiente:
-- Queries the backup file for the file list in backup set, where Type denotes
-- type of file. Can be L,D,F or S
-- info: https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-filelistonly-transact-sql
RESTORE FILELISTONLY FROM DISK = 'C:\Temp\DB_backup.bak'
GO
Obtendrá resultados similares a los siguientes:
Y luego puede usar esos nombres lógicos en las consultas:
-- Script assumes you want MDF and LDF files restored on separate drives. Modify for your scenario
RESTORE DATABASE DB
FROM DISK='C:\Temp\DB_backup.bak'
WITH REPLACE,
MOVE 'DB' TO 'E:\MSSQL\Data\DB.mdf', -- "DB" is the mdf logical name from query above
MOVE 'DB_log' TO 'F:\MSSQL\Logs\DB.ldf'; -- "DB_log" is LDF logical name from query above
Se RESTORE FILELISTONLY
puede encontrar más información sobre los documentos de SQL Server .
WITH MOVE
, y se solucionó usandoWITH REPLACE, MOVE
.