2

我收到以下错误。

服务器恢复失败

我最近将 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 尝试使用以下命令进行备份

使用 FORMAT 备份数据库 go4sharepoint_1384_8481 到磁盘 ='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) May 26 2009 14:24:20 Copyright (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 DB。

非常感谢。

4

5 回答 5

4

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

于 2010-06-27T20:02:25.653 回答
3

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

如果您有 SQL Server 2008 备份,则只能在 SQL Server 2008(或更高版本)机器上恢复该备份,而不能在 2005 机器上恢复。没有技巧,没有解决方法,没有办法做到这一点。

于 2010-06-27T19:29:11.760 回答
1

您在这里有 2 个选项。

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

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

请注意,在这两个选项中,您将丢失您尝试恢复到的数据库的现有数据。

于 2015-07-09T23:14:24.143 回答
0

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

于 2010-06-27T20:06:11.953 回答
0

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

您可以尝试:

  1. 启动 SQL Server Management Studio 并连接到数据库所在的实例
  2. 在数据库上下文菜单中导航到任务 | 生成脚本...。这将调用生成和发布脚本向导
  3. 在向导的“介绍”步骤中,单击“下一步”
  4. 在向导的选择对象步骤中,确保选择脚本整个数据库和所有数据库对象选项,然后单击下一步
  5. 在向导的设置脚本选项步骤中:
  6. 选择将脚本保存到特定位置选项
  7. 指定是否将数据库对象和数据脚本化到单个文件多个文件,以及生成脚本的路径和编码
  8. 单击高级
  9. 在将出现的“高级脚本选项”对话框中:
  10. 在 Script for Server Version 选项中指定您需要将数据库恢复到的 SQL Server 版本
  11. 在服务器版本的脚本选项中指定架构和数据
  12. 将以下选项设置为 True: Script Logins Script Full-Text Indexes Script Triggers 单击 OK 单击 Next
  13. 在向导的摘要步骤中单击下一步
  14. 在向导的保存或发布脚本步骤中,单击完成
  15. 针对旧 SQL 实例执行生成的 SQL 脚本

尽管上面列出的过程应该可以工作: 1. 它不会迁移所有数据库对象(例如序列或队列) 2. 如果您的数据库包含 SQL Server 无法识别的依赖项(例如对驻留在链接上的数据库的依赖项),它可能会失败服务器)

您可以查看有关解决方案中心的文章的其余部分。您还可以考虑使用第三方工具。

于 2014-04-01T13:21:56.583 回答