大多数情况下数据库恢复失败

时间:2014-09-13 23:59:54

标签: sql-server-2012 database-restore

我正在尝试恢复数据库,但是在尝试了2/3选项的情况下失败并显示错误

RESTORE DATABASE abcdDb
 FILE = N' abcdDb'

FROM DISK = N' i:\ Data \ abcdDb.bak'

失败并显示错误

Msg 5133,Level 16,State 1,Line 1
目录查找文件
" C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb.mdf"
因操作系统错误3失败(系统找不到指定的路径。) Msg 3156,Level 16,State 3,Line 1
文件' abcdDb'无法恢复为

' C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb.mdf'。
使用WITH MOVE识别文件的有效位置 Msg 5133,Level 16,State 1,Line 1
目录查找文件
" C:\ Program Files \ Microsoft SQL
Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb_log.ldf"
因操作系统错误3失败(系统找不到指定的路径。) Msg 3156,Level 16,State 3,Line 1
文件' abcdDb_log'无法还原到' C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb_log.ldf'。
使用WITH MOVE识别文件的有效位置 消息3119,级别16,状态1,行1 在规划RESTORE语句时发现了问题。以前的消息提供详情。 消息3013,级别16,状态1,行1 RESTORE DATABASE异常终止。



RESTORE FILELISTONLY
FROM DISK =' i:\ Data \ abcdDb.bak'


给我输出如下

abcdDb C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb.mdf D
abcdDb_log C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb_log.ldf L
用于上面的文件位置恢复如下

IF DB_ID(' abcdDb')IS NULL BEGIN
  RESTORE DATABASE abcdDb
  FILE = N' abcdDb'
  FROM DISK = N' i:\ Data \ abcdDb.bak'
  与
    FILE = 1,NOUNLOAD,STATS = 10,
    移动N' YC:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb.mdf'
    到N' C:\ Data \ abcdDb.mdf',
    移动N' C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb_log.ldf'
    到N' C:\ Data \ abcdDb.LDF'
END




 (2行受影响)
Msg 3234,Level 16,State 2,Line 6
逻辑文件' YC:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ abcdDb.mdf'不属于数据库&abcDb'。使用RESTORE FILELISTONLY列出逻辑文件名 Msg 3013,Level 16,State 1,Line 6
RESTORE DATABASE异常终止。

1 个答案:

答案 0 :(得分:0)

第二个逻辑文件名不正确。从恢复文件列表选项中,请选择那些逻辑名称