还原SQL Server数据库 - 失败:38(到达文件末尾。)

时间:2011-04-13 22:19:21

标签: sql sql-server-2008

我正在运行以下脚本:

RESTORE DATABASE [Name_V2] FROM DISK = N'C:\20100920_Name_V2.bak' WITH MOVE N'Name_V2' TO N'C:\Program Files\...\Name_V2.mdf', MOVE N'Name_V2_log' TO N'C:\Program Files\...\Name_V2_log.ldf', REPLACE, STATS=1, FILE=1, NORECOVERY GO

当它运行时,我处理了70%,我收到以下错误:

  

Msg 3203,Level 16,State 1,Line 1
  继续阅读“C:\ 20100920_Name_V2.bak”   失败:38(达到了结束   文件)。
  消息3013,级别16,状态1,行1   RESTORE DATABASE正在终止   异常。

我不确定问题是什么。有人可以对此有所了解吗?当我对它执行RESTORE VERIFYONLY时,我得到了相同的“达到文件末尾”错误。当我从磁盘执行RESTORE FILELISTONLY时,会返回列出.mdf和.ldf的结果。

提前谢谢!

2 个答案:

答案 0 :(得分:7)

看起来像是已损坏或不完整的备份。请参阅msdn blogs http://social.msdn.microsoft.com/Forums/en/sqldisasterrecovery/thread/b57ae7c2-9f86-48e1-a356-ceb105181bf8

上的这篇文章

线程摘要..

备份文件本身似乎已损坏,或副本不完整。

在数据库完全恢复之前,还原已到达备份文件的末尾。

答案 1 :(得分:3)

发生此问题的原因是您使用的是不完整的备份文件。