使用Transact SQL恢复数据库时出错

时间:2019-05-29 20:53:09

标签: sql sql-server tsql

我正在尝试使用先前从另一台服务器创建的.bak文件还原数据库。

.bak已在SQL路径为E单元的服务器上创建,并且 在新服务器中,路径为C。

PATH SQL数据库源

E:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA

路径数据库目的地

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA

查询还原

RESTORE DATABASE admin_usuarios  
FROM DISK = 'C:\backup\admin_usuarios.bak'   
WITH REPLACE;

错误

  

消息5133,第16级,状态1,第4行   在目录中搜索文件“ E:\\ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ DATA \ admin_usuarios.mdf”时出错,操作系统错误:3(系统找不到指定的路径。)。

用于创建备份的查询

BACKUP DATABASE admin_usuarios
TO DISK = 'E:\BackupSQL\admin_usuarios.bak'
WITH FORMAT;

1 个答案:

答案 0 :(得分:1)

您需要使用RESTORE WITH MOVE语法:

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;