我正在尝试恢复一个.bak文件(在Server 2008 R2上进行的备份,兼容性级别为100)。我正在恢复Server 2012版本上的备份。我得到了以下错误。不幸的是,备份数据库的原始DB不再可用。我是这个项目的新手。我被给了一个拇指驱动器上的bak文件。
关于如何将数据库恢复到2012年,有什么建议吗?
数据库“TstDB”的还原失败。 System.Data.SqlClient.SqlError:读取*13(数据无效)。
这就是错误信息。当我运行RESTORE VERIFYONLY
时,会得到以下错误:
Msg 3203,级别16,状态1,第2行读取“C:*”失败:13(数据无效) Msg 3013,16级,状态1,第2行堆栈--invalid验证数据库异常终止。
RESTORE HEADERONLY
成功。当我使用stats=1运行restore数据库时,我得到以下内容:
处理了10 %。 20 % processed. ... 70 % processed. 80 % processed. 80%processed. Msg 3203,级别16,State 1,Line 2 对"C:\ccc.bak“的读取失败:13(数据无效) Msg 3013,级别16,状态1,第2行堆栈RESTORE还原数据库正在异常终止。
发布于 2015-04-17 06:55:07
尝试运行RESTORE FILELISTONLY
或RESTORE HEADERONLY
。如果运行成功,这将证明Server正在成功地访问.bak文件。(并排除某种许可问题。)
如果这是成功的,那么尝试使用RESTORE VERIFYONLY
和RESTORE DATABASE
运行STATS=1
。如果每次都在同一地点继续失败,很可能意味着备份已损坏,您的运气不佳。
如果每次在不同的位置发生故障,则可能会导致.bak保存位置的可靠性问题。
发布于 2015-04-17 07:13:40
您是否尝试将其从2008年的R2服务器中分离出来,将.mdf
和.ldf
文件复制到2012年的服务器上,并将它们重新附加到其中?
它解决不了我知道的备份错误。它会把数据库转到2012年的服务器上,如果它成功地连接到服务器上,就会告诉你它是好的。
https://dba.stackexchange.com/questions/98153
复制