我们在将用户数据库从 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 的网络版实际上应该是标准版,但有一些小的限制。而且我不知道,为什么这个特定的数据库不能在网页版上恢复,是什么原因造成的。数据库中是否有一些特定的功能/设置会阻止它在目标服务器上恢复?
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 版上恢复它。不是一个很好的解决方法,但可以挽救局面。
还是很好奇为什么会出现这种情况。
-- M. Frank (miroslav.frank (at) e-fractal.cz)