还原问题SQL Server版本?

时间:2010-06-27 19:20:49

标签: sql-server database-restore

我收到了以下错误。

服务器恢复失败

我最近将SQL Server 2005 Express升级到SQL Server 2008 Express。

  • 我已经在生产服务器上备份了SQL Server 2008
  • 备份很好,我尝试在生产服务器上恢复备份,效果很好。
  • 我用FileZila软件以.Zip格式下载了该备份文件(这也很好)。
  • 但是当我尝试恢复该文件时,我收到了以下错误。

服务器恢复失败

执行Transact-SQL语句或批处理时发生异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------附加信息:

设备'C:\ go4sharepoint_1384_8481.bak'上的媒体系列格式不正确。 SQL Server无法处理此媒体系列。 RESTORE HEADERONLY异常终止。 (Microsoft SQL Server,错误:3241)

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

我试过的没用的东西

尝试1 尝试使用以下命令进行备份

备份数据库go4sharepoint_1384_8481 使用FORMAT DISK ='C:\ HostingSpaces \ dbname_jun14_2010_new.bak'

并尝试恢复该文件。

尝试2 有人写信测试我的SQL Server版本。 当我尝试在SQL Server 2008中运行以下命令时

Select @@Version

它提供以下输出 Microsoft SQL Server 2005 - 9.00.4053.00(Intel X86)2009年5月26日14:24:20版权所有(c)1988-2005 Microsoft Corporation Express Edition on Windows NT 6.0(Build 6002:Service Pack 2)

我的生产数据库在SQL Server 2008中,我正在尝试在SQL Server 2008中恢复数据库,但是上面的版本显示好像我正在使用SQL Server 2005。

知道如何恢复SQL Server 2008数据库。

非常感谢。

5 个答案:

答案 0 :(得分:4)

您是否有可能不是将2005年的实例升级到2008年,而是将2005年与2008年并排安装,并且您将连接到现有的2005实例?在您的机器上寻找其他实例。

答案 1 :(得分:3)

无法从较低版本的较高SQL Server版本还原备份 - 这在SQL Server中从未实现过。

如果您有SQL Server 2008备份,则可以在SQL Server 2008(或更高版本)计算机上恢复该备份,但在2005年框中。没有技巧,没有解决方法,也没办法。

答案 2 :(得分:1)

这里有2个选项。

使用RESTORE命令时使用WITH REPLACE。这将覆盖现有数据库并恢复备份文件所代表的数据库状态。

删除要尝试还原到的数据库,然后使用RESTORE命令再次还原。这将创建一个新的数据库,其中包含备份文件所代表的状态。

请注意,在这两个选项中,您将丢失要还原到的数据库的现有数据。

答案 3 :(得分:0)

确保它安装正确 - 在程序文件\ microsoft sql server目录中应该有一个100/150文件夹。在setup bootstrap \ log中查看安装日志。

答案 4 :(得分:0)

如上所述,此行为的原因是,默认情况下,SQL Server不允许将数据库备份还原到较旧版本的SQL Server,而不管备份的数据库的兼容级别如何。

您可以尝试:

  1. 启动SQL Server Management Studio并连接到数据库所在的实例
  2. 在数据库上下文菜单中,导航到Tasks |生成脚本......这将调用Generate and Publish Scripts向导
  3. 在向导的“简介”步骤中,单击“下一步”
  4. 在向导的“选择对象”步骤中,确保选中“脚本整个数据库和所有数据库对象”选项,然后单击“下一步”
  5. 在向导的“设置脚本选项”步骤中:
  6. 选择将脚本保存到特定位置选项
  7. 指定数据库对象和数据是否将脚本化为单个文件的多个文件,以及生成的脚本的路径和编码
  8. 点击高级
  9. 在将出现的“高级脚本选项”对话框中:
  10. 在“服务器版本脚本”选项
  11. 中指定数据库还原到的SQL Server版本
  12. 在“服务器版本脚本”选项中指定“架构和数据”
  13. 将以下选项设置为True: 脚本登录 脚本全文索引 脚本触发器 单击确定 单击“下一步”
  14. 在向导的“摘要”步骤中,单击“下一步”
  15. 在向导的“保存或发布脚本”步骤中,单击“完成”
  16. 针对旧SQL实例执行生成的SQL脚本
  17. 虽然上面列出的程序应该有效: 1.它不会迁移所有数据库对象(例如序列或队列) 2.如果您的数据库包含SQL Server无法识别的依赖项(例如,驻留在链接服务器上的数据库的依赖项),则可能会失败。

    您可以查看Solution center上文章的其余部分。您还可以考虑使用第三方工具。