请将 SQL Server 2005 附加到 2008 DB 提供帮助!

请将 SQL Server 2005 附加到 2008 DB 提供帮助!

我的个人计算机上安装了 SQL Server 2005 Standard。我创建了一个非常大的数据库,大约 21 GB。我进行了备份,并通过 ftp 程序将 .bak 文件传输到我的专用服务器。我的专用服务器上安装了 SQL Server 2008 Enterprise Edition。我尝试恢复传输的 .bak 文件,但出现错误。我在此处发布了错误,并被告知数据库已损坏。怎么回事?我不知道。在 ftp 传输过程中,连接没有中断。数据库在我自己的计算机上运行良好。因此,我分离了自己计算机上的数据库,并通过 ftp 将 mdf 和 ldf 文件再次传输到我的专用服务器,并且没有出现中断。现在我尝试连接数据库并收到此错误:文件“DB.mdf”的标头不是有效的数据库文件标头。FILE SIZE 属性不正确。(Microsoft SQL Server,错误:5172)

如需帮助,请点击:http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1442&EvtSrc=MSSQLServer&EvtID=5172&LinkId=20476

我已经浪费了 21 GB 来传输 .bak 文件。现在我又用了 21 GB 来传输 mdf 和附加 ldf 文件。请告诉我有解决方案。在我的计算机上,sql server 2005 可以正常分离和附加数据库,但在我的服务器上,sql server 2008 不能。

答案1

我猜你的传输可能因为某种原因被破坏了,尽管它看起来已经成功完成了。确实会发生这种情况。

我的建议是在传输之前压缩 BAK 文件。你会发现 BAK 文件的压缩效果非常好,我预计文件大小从 21GB 压缩到 3 或 4GB。WinRAR 的数据压缩效果甚至更好。

将 2005 BAK 文件还原到 SQL 2008 设置中当然是可能的,就像将原始 MDF 和 LDF 文件移过来并附加到 SQL 2008 服务器一样,如文档所述这里

答案2

您使用的是什么 FTP 程序?有些便宜的程序无法处理大于 2/4 GB 的文件,除非进行翻转。

另外,获取一个简单的 CRC 程序并针对本地档案和远程档案运行它。使用 CRC32,因为它比 MD5 快得多,而且您对它的加密属性不感兴趣。

相关内容