恢复SQL 2008数据库失败,错误在页xxx:xxx

时间:2011-06-29 09:16:37

标签: sql sql-server sql-server-2008 backup restore

情况就是这样:

获得带有分区的SQL 2008数据库的完整备份(.bak文件)。 .bak文件是100gb。

我需要在不同的服务器上将此数据库还原到新数据库。 所以,命令是这样的:

Restore Database [newname] FROM DISK= N'D:\mydatabase.bak' WITH FILE = 1
MOVE 'mydatabasename' TO 'C:\mydatabase.mdf'
MOVE 'Partition1' TO 'C:\`mydatabase_1.ndf'
etc..
STATS = 1

处理完52%后,我收到此错误:

Msg 3183, Level 16, State 2, Line 1
RESTORE detected an error on page (8481:555819297) in database "dbname" as read from the backup set.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

在所有默认建议出现之前,这就是我已经做过的事情:

  • 原始数据库上的Checkdb - >没有错误
  • 恢复本地计算机上的.bak文件 - >没有错误,所以备份是正确的。

我该怎么做才能解决这个问题?我怎样才能解决实际问题?

感谢您的任何建议。

3 个答案:

答案 0 :(得分:2)

我会检查服务器上创建的.bak的MD5校验和,并将其移动到新家。当你移动它时,我会打赌在你的副本中调整了一些小东西;在你的过程中的某些东西,可能只是一个网络打嗝,borked的东西或其他。

此处很少有MD5校验和实用程序:http://www.thefreecountry.com/utilities/free-md5-sum-tools.shtml

祝你好运。

答案 1 :(得分:2)

我们能够在其他服务器上恢复备份。

过了一会儿,我们切换到新服务器。 带错误的旧版本现在在测试平台上。

结论是备份文件是正确的,问题在于服务器上的硬件问题。可能是磁盘问题,但是如果那清楚,我会在这里发布..

感谢您的建议。

答案 2 :(得分:2)

是的,对于这样的恢复错误,问题在于您尝试恢复备份的驱动器,尝试更改驱动器(例如d到e)..它对我有效。

还可以尝试直接附加mdf文件。