我正在尝试将SQL Server 2012 .BAK文件还原到本地服务器。我之前成功恢复了这个.BAK文件。但是现在,当我尝试时,我收到以下错误:
RESTORE在数据库'databasename'中的页面(0:0)上检测到从备份集中读取的错误。
运行以下命令有效:
RESTORE HEADERONLY FROM DISK = 'D:\database.bak'
但是,运行以下内容:
RESTORE VERIFYONLY FROM DISK = 'D:\database.bak'
返回以下错误:
Msg 3203, Level 16, State 1, Line 1
Read on "D:\database.bak" failed: 13(The data is invalid.)
Msg 3013, Level 16, State 1, Line 1
VERIFY DATABASE is terminating abnormally.
今天早上我再次从FTP服务器下载了.BAK文件并得到了同样的错误。我让其他人可以访问相同的备份文件,他们可以恢复它,没有任何问题。有什么想法吗?
答案 0 :(得分:1)
您可能有一个糟糕的bak文件或源数据库已损坏。
验证源数据库:
DBCC CHECKDB('DatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS
在服务器上进行了备份。
然后尝试再次备份它,在复制生成的bak时,尝试二进制复制您的文件与其他替代方案,如Robocopy,Copyfile等。
答案 1 :(得分:0)
所有解决方案都指出了无法恢复的损坏的备份文件。我当时做的是转到源SQL数据库并运行DBCC CHECKDB
。此外,最好在执行备份时检查“验证备份”。
答案 2 :(得分:0)
在SQL Server还原数据库中,选择备份文件,然后单击Verify Backup Media
。
如果备份文件已损坏,您将看到错误消息。
答案 3 :(得分:0)
有时,在使用Maxthon浏览器下载备份时,在使用Windows RDP下载备份后,我们会遇到相同的错误。