Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 还原问题SQL Server版本?_Sql Server_Database Restore - Fatal编程技术网

Sql server 还原问题SQL Server版本?

Sql server 还原问题SQL Server版本?,sql-server,database-restore,Sql Server,Database Restore,我得到以下错误 服务器还原失败 我最近将SQLServer2005Express升级为SQLServer2008Express 我在生产服务器上备份了SQL Server 2008 备份很好,我尝试在生产服务器上恢复备份,效果很好 然后我用FileZila软件下载了.Zip格式的备份文件(这也很好) 但当我试图恢复该文件时,我遇到了以下错误 服务器还原失败 执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo) -----

我得到以下错误

服务器还原失败

我最近将SQLServer2005Express升级为SQLServer2008Express

  • 我在生产服务器上备份了SQL Server 2008
  • 备份很好,我尝试在生产服务器上恢复备份,效果很好
  • 然后我用FileZila软件下载了.Zip格式的备份文件(这也很好)
  • 但当我试图恢复该文件时,我遇到了以下错误
服务器还原失败

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

------------------------------其他信息:

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

有关帮助,请单击:

我尝试过但没有成功的事情

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

备份数据库go4sharepoint_1384_8481 到磁盘='C:\hostingspace\dbname\u jun14\u 2010\u new.bak',格式为

并尝试还原该文件

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

Select @@Version
它给出以下输出 Microsoft SQL Server 2005-9.00.4053.00(英特尔X86)2009年5月26日14:24:20版权所有(c)1988-2005 Windows NT 6.0上的Microsoft Corporation Express Edition(Build 6002:Service Pack 2)

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

知道如何恢复SQLServer2008DB吗


非常感谢。

您无法在较低版本上从较高的SQL Server版本还原备份,这在SQL Server中是无法做到的


如果您有SQL Server 2008备份,则只能在SQL Server 2008(或更高版本)计算机上还原该备份,而不能在2005机箱上还原该备份。没有诀窍,没有解决办法,也没有办法。

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

确保安装正确-在program files\microsoft sql server目录中,将有一个100/150文件夹。请查看setup bootstrap\log中的安装日志。

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

您可以尝试:

  • 启动SQL Server Management Studio并连接到数据库所在的实例
  • 在数据库上下文菜单中,导航到任务|生成脚本…。这将调用生成和发布脚本向导
  • 在向导的介绍步骤中,单击下一步
  • 在向导的“选择对象”步骤中,确保选中“为整个数据库和所有数据库对象编写脚本”选项,然后单击“下一步”
  • 在向导的“设置脚本选项”步骤中:
  • 选择“将脚本保存到特定位置”选项
  • 指定是否将数据库对象和数据脚本化为单个文件或多个文件,以及生成的脚本的路径和编码
  • 单击高级
  • 在将出现的“高级脚本选项”对话框中:
  • 在“服务器版本脚本”选项中指定需要将数据库还原到的SQL Server版本
  • 在“服务器版本脚本”选项中,指定架构和数据
  • 将以下选项设置为True: 脚本登录 脚本全文索引 脚本触发器 单击“确定” 单击下一步
  • 在向导的摘要步骤中,单击下一步
  • 在向导的“保存或发布脚本”步骤中,单击“完成”
  • 针对较旧的SQL实例执行生成的SQL脚本
  • 尽管上述程序应可行: 1.它不会迁移所有数据库对象(例如序列或队列) 2.如果您的数据库包含SQL Server无法识别的依赖项(例如,对驻留在链接服务器上的数据库的依赖项),则可能会失败


    你可以看看这篇文章的其余部分。您还可以考虑使用第三方工具

    这里有两个选项

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

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


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

    我知道我没有尝试将DB还原到SQL Server 2005。我有SQLServer2008Express,我试着在上面恢复备份,它给了我上面的信息error@Jordon:如果select@@version说您有sql 2005,则您有sql 2005。不知道你为什么会有不同的想法。您遇到的错误完全是因为sql 2005无法还原sql 2008数据库。谢谢Chris,有什么想法吗。。。我有SQLServer2005Express,而不是升级到SQLServer2008Express,为什么它仍然显示SQLServer2005?Thanks@Jordon:有没有可能您的计算机上有两个名称不同的实例(一个是SQL Server 2005 Express,另一个是SQL Server 2008 Express),但您连接到了错误的实例?我不同意。sql2005=9.x;2008=10.xAgree