【发布时间】:2011-06-29 09:16:37
【问题描述】:
情况是这样的:
获得了带有分区的 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 文件 --> 没有错误,所以备份是正确的。
我可以做些什么来解决这个问题?如何解决实际问题?
感谢您的任何建议。
【问题讨论】:
-
您是在还原前将 bakup 文件复制到目标服务器还是尝试从某个 windows 共享文件夹还原?
-
是的,先将bak复制到目标服务器,然后恢复。
-
文件复制到目标服务器后是否检查过校验和?也许有错误(可能是由磁盘错误引起的)?检查您可以针对此版本恢复的版本的 MD5。它们是一样的吗?
-
我认为这个问题可以在 serverfault 问答网站 (serverfault.com) 上更快地解决
-
@Dommer:我复制了多个文件中的文件。在目标服务器上,我正确提取了文件,所以我猜 .bak 文件应该不错? @Heximal,我会试试的,谢谢。
标签: sql sql-server sql-server-2008 backup restore