Luis Pavez
Luis Pavez

Reputation: 53

Error restoring databse with transact SQL

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

Answers (1)

Piotr Palka
Piotr Palka

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

Related Questions