Reputation: 53
I'm trying to restore a database with a .bak file created previously from another server.
The .bak has been created on a server where the SQL path is the E unit, and in the new server the path is C.
PATH SQL DATABASE SOURCE
E:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA
PATH DATABASE DESTINATION
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA
Query restore
RESTORE DATABASE admin_usuarios
FROM DISK = 'C:\backup\admin_usuarios.bak'
WITH REPLACE;
ERROR
Msg 5133, Level 16, State 1, Line 4 Error searching the file "E: \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ DATA \ admin_usuarios.mdf" in the directories, operating system error: 3 (The system can not find the specified path.).
Query used to create backup
BACKUP DATABASE admin_usuarios
TO DISK = 'E:\BackupSQL\admin_usuarios.bak'
WITH FORMAT;
Upvotes: 0
Views: 340
Reputation: 3169
You need to use RESTORE WITH MOVE syntax:
RESTORE DATABASE admin_usuarios FROM DISK = 'C:\backup\admin_usuarios.bak'
WITH
MOVE date_file_logical_name TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\admin_usuarios_Data.mdf',
MOVE log_file_logical_name TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\admin_usuarios_Log.ldf',
REPLACE;
Upvotes: 1