SQLServer2016恢复数据库备份名称不一致的解决办法
- 数据库
- 6小时前
- 10热度
- 0评论
恢复数据提示如图错误

解决办法:
备份文件里面记录的原数据库文件路径是 D:\Data\Mulan\,你本机电脑上没有这个文件夹,SQL 找不到地方放 mdf 和 ldf,还原失败。
需要加上
WITH MOVE,把数据文件、日志文件重定向到你本机真实存在的目录。
第一步:先查备份里的逻辑文件名(mulan /mulan_log)
你这个 bak 里:
- 数据逻辑名:
mulan - 日志逻辑名:
mulan_log
第二步:先找到你本机 SQL Server 的数据存放目录
在 SSMS 执行下面这条查看本机默认数据路径:
SELECT @@SQLDATA
或者右键服务器 → 属性 → 数据库设置,看【数据库默认位置】。
举个例子,很多默认路径是:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\
第三步:完整修正后的脚本(重点增加 MOVE)
把下面脚本里的目标路径改成你本机真实的路径再运行!
USE master;
GO
ALTER DATABASE [mulanserver] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
RESTORE DATABASE [mulanserver]
FROM DISK = N'D:\Mulan\20261008\mulan\mulan_backup_2026_10_21_014708_0701857.bak'
WITH REPLACE, RECOVERY,
MOVE N'mulan' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mulanserver.mdf',
MOVE N'mulan_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mulanserver_log.ldf';
GO
ALTER DATABASE [mulanserver] SET MULTI_USER;
GO
⚠️ 注意:
MOVE 逻辑名 TO '本机真实文件完整路径'- 目标文件夹必须提前存在!SQL 不会自动新建文件夹。 比如如果你想放到
D:\SQLData\,要先手动建好D:\SQLData\这个文件夹。
图形界面简单做法(不想写 SQL)
还原窗口 → 【选项】 找到【还原为】那一列,把两个文件的路径改掉,换成你本机真实存在的目录,同时勾选【覆盖现有数据库 (WITH REPLACE)】,再点确定还原。
小提示
你的 SQL 版本是 MSSQL13(SQL2016),路径里 MSSQL13.MSSQLSERVER 是对的。 如果你拿不准本机 DATA 路径,直接把 SELECT @@SQLDATA 的结果发给我,我帮你把脚本写好。