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 Microsoft Corporation Express Edition on Windows NT 6.0 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,我尝试在上面恢复备份,这是giv
在我之上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.x,听起来像是安装了多个实例。您可以在“我的电脑”>“管理”>“服务”中查看所有实例,并查找SQL Server SERVERNAME。您可以在“查询”窗口中通过以下命令查看连接到的服务器:SELECT@@SERVERNAMEStop当我试图将数据库备份到旧版本的SQL server时,一遍又一遍地问同一个问题。您可以将整个数据库复制到脚本中,并选择要还原到的版本!