【问题标题】:Error restoring databse with transact SQL使用事务 SQL 还原数据库时出错
【发布时间】:2019-10-15 12:36:33
【问题描述】:

我正在尝试使用之前从另一台服务器创建的 .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;

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案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;
    

    【讨论】:

    • 现在我有这个错误:你不能指定 RESTORE WITH CHECKSUM 因为备份集不包含校验和信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多