将数据库从SQL 2005 Standard迁移到SQL 2008 R2 Web Edition期间的兼容性问题

时间:2011-04-22 08:52:49

标签: sql-server sql-server-2005 database-migration

我们在将用户数据库从SQL 2005 Standard迁移到SQL 2008 R2 Web Edtition时遇到了一些麻烦。选择包含备份的.bak文件后,Management Studio会发出错误消息:

Specified cast is not valid. (SqlManagerUI)

(更多详情请见:http://pastebin.com/u1cZP25S

尝试使用VERIFY ONLY选项从查询恢复导致:

Msg 3203, Level 16, State 1, Line 1
Read on "E:\XXXMigration\XXX.bak" failed: 38(failed to retrieve text for this error. Reason: 15105)
Msg 3013, Level 16, State 1, Line 1
VERIFY DATABASE is terminating abnormally.

问题是该服务器中最后一个必须迁移的数据库。其他5个数据库迁移(备份和恢复)没有任何问题。

我知道从2005 Enterprise迁移到2008 Express(从较高版本到较低版本)存在问题,并且您无法从较高版本迁移到较低版本(从2008年到2005年等等)。

但正如我所知,SQL 2008 R2的网络版本实际上应该是标准版,但有一些小的限制。我不知道,为什么这个特定的数据库无法在Web Edition上恢复,导致这种情况的原因。可能是数据库中使用了一些特定的功能/设置阻止它在目标服务器上恢复?

Database server info:

Source database server: 9.00.1406.00    RTM    Standard Edition
Target database server: 10.50.1600.1    RTM    Web Edition (64-bit)

感谢您的任何建议。

修改

我发现将此数据库还原到2008 R2 Enterprise是可能的,然后当我在那里备份它时,可以在2008 R2 Web Edition上恢复它。不是一个很好的解决方法,但可以挽救局面。

仍然好奇为什么会出现这种情况。

- M. Frank(miroslav.frank(at)e-fractal.cz)

1 个答案:

答案 0 :(得分:1)

您是否尝试过运行升级顾问http://www.microsoft.com/download/en/details.aspx?id=11455 - 它可能会突出显示升级原始数据库的问题。

另外,您是否考虑过数据库的兼容级别,确保将其作为2005数据库导入?这对我来说有几个数据库,尽管在不包含不同版本服务器的情况下。