跳到主要内容
常见问题 SQL Server备份还原文件映射

还原时提示找不到数据库文件怎么办

还原报「找不到数据库文件」的原因(逻辑名与目标路径不一致),用 RESTORE FILELISTONLY 核对后用 WITH MOVE 重映射。

发布于 2026/11/11 所属频道 SQL Server

简短答案

通常是备份里记录的数据文件路径在目标机器上不存在。用 RESTORE FILELISTONLY 查看备份内的逻辑名,再用 WITH MOVE 把逻辑名重映射到目标机器的实际路径。

排查步骤

  1. 查看备份内文件逻辑名与原始路径:
RESTORE FILELISTONLY FROM DISK = N'D:\backup\库名.bak';
  1. 重映射后还原:
RESTORE DATABASE 库名 FROM DISK = N'D:\backup\库名.bak'
WITH MOVE N'逻辑数据名' TO N'D:\data\库名.mdf',
     MOVE N'逻辑日志名' TO N'D:\data\库名_log.ldf';
  1. 在 SSMS 图形界面里:还原数据库向导 → 选择页面查看「逻辑文件名」列,逐个在「物理文件名」列改目标路径。
  2. 路径所在目录不存在会再报文件相关错误,先建目录并确认服务账户有写入权限。
  3. 源库来自 Express 环境时,注意目标版本与 Express 授权边界,版本对照看 SQL Server 2019 Developer 条目页。

操作小结

  1. 先 FILELISTONLY 拿逻辑名,再 MOVE 重映射。
  2. 目标目录要提前建好、权限给足。
  3. 逻辑名必须与备份内一致,写错还原直接失败。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配