数据库“Restore(还原)”出错是一个非常常见的问题,原因通常可以归为几类:文件/权限问题、版本不兼容、数据库状态冲突、以及语句写法错误。
下面我按最常见原因 → 排查方法给你梳理,你可以对照自己的报错信息定位:
现象:
The database was backed up on a server running version 15.00…
That version is incompatible with this server (version 12.00)
原因:
解决:
现象:
Exclusive access could not be obtained
Database is in use
原因:
解决:
ALTER DATABASE 数据库名
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
再执行 RESTORE,完成后:
ALTER DATABASE 数据库名 SET MULTI_USER;
现象:
Cannot create file ‘<路径>’
Operating system error 5 (Access is denied)
原因:
解决(推荐):
RESTORE DATABASE 数据库名
FROM DISK = 'D:\bak\xxx.bak'
WITH MOVE '逻辑名' TO 'D:\data\xxx.mdf',
MOVE '逻辑名_log' TO 'D:\log\xxx.ldf';
查看逻辑名:
RESTORE FILELISTONLY FROM DISK = '路径';
现象:
RESTORE detected an error
damaged or incomplete backup
解决:
RESTORE VERIFYONLY FROM DISK = '路径';
现象:
Log backup required
Cannot restore because previous log backups are missing
原因:
WITH NORECOVERY 但日志不全解决:
WITH RECOVERY;
NORECOVERY现象:
File ‘xxx’ already exists
解决:
MOVE 指定新路径你可以按顺序确认:
你可以把完整报错信息或你执行的 RESTORE 语句发出来,我可以:
你用的是 SQL Server / MySQL / Oracle / PostgreSQL?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。