将备份还原到较旧版本的 SQL Server

Restoring a backup to an older version of SQL Server

提问人:rem 提问时间:8/22/2011 更新时间:4/14/2017 访问量:173218

问:

尝试将备份还原到 SQL Server Express 2008 数据库时,出现以下错误:

Restore failed for Server '...\SQLEXPRESS'.  (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600. 
That version is incompatible with this server, which is running version 10.00.2531. 
Either restore the database on a server that supports the backup, or use a backup 
that is compatible with this server. (Microsoft.SqlServer.Smo)

有没有办法从较新(在我的例子中是 10.50.1600)版本的 SQL Server Express 获得与较旧(在我的情况下为 10.00.2531)版本兼容的备份?

sql-server sql-server-2008 备份 还原

评论

0赞 serge 4/8/2021
dba.stackexchange.com/a/289341/227324 试试这个解决方案

答:

11赞 Richard 8/22/2011 #1

可以使用“导入/导出”向导在数据库之间移动数据。

右键单击要导出的数据库,选择“任务”,然后选择“导出数据”。该向导将指导您完成整个过程。

不过,你是对的。您将无法执行从 SQL Server 2008 R2 移动到 SQL Server 2008 Express 的备份/还原。

20赞 gbn 8/22/2011 #2

你已使用 SSMS 中的导入/导出向导来迁移所有内容

使用备份/还原或分离/附加不可能“降级”

评论

3赞 serge 4/8/2021
这里有一个替代的,更明确的解决方案,dba.stackexchange.com/a/289341/227324
0赞 RolfBly 10/28/2022
OP 11 年后,这条评论现在是这个问题的最佳答案。
6赞 SQLRockstar 8/22/2011 #3

唯一的方法是在 10.00.2531 版本上创建一个新数据库,并从 10.50.1600 导入数据。

您无法还原到旧版本。

5赞 Sarah 5/19/2013 #4

右键单击数据库 --> 任务 -->生成脚本 -->next-->next--> 单击“高级”按钮 -->将选项“数据类型更改为脚本”更改为“模式和数据” -->好的 -->下一页 -->下一页 因此,现在您有一个脚本,用于创建数据库及其表,并在其中填充数据:) ;)

评论

2赞 Thomas Rushton 5/19/2013
根据数据量,该脚本可能非常庞大......
1赞 ErikE 10/11/2013
@ThomasRushton 根据定义,该脚本将比数据库本身大,如果不是更糟的话,可能至少是两倍!我希望它不是一个 50 GB 的数据库......
0赞 Burgi 9/2/2016
这是一个重复的答案
0赞 juFo 3/8/2017
这不是一个重复的答案,在数据类型是“模式和数据”时,这是一个很好的答案!;-)这就是我需要的!
1赞 basher 5/27/2017
@Burgi这个答案比 Dsingh 的要古老。他只是复制了 Sarah 的选项并添加了 2 个选项,一个用于架构,另一个用于数据。他是复制品。
8赞 dsingh 5/9/2014 #5

SQL Server 备份不支持向后兼容性

在旧版本上获取数据库的步骤 -

  • 对于架构:右键单击数据库 -->任务 -->生成脚本 -->下一个-->下一个-->单击高级按钮 -->将选项“数据类型更改为脚本”为“模式” -->确定 -->下一步 -->下一步

  • 对于数据:右键单击数据库 -->任务 -->生成脚本 -->下一个-->下一个-->单击高级按钮 -->将选项“数据类型更改为脚本”-->确定 -->下一步 -->下一步

评论

1赞 Iman 2/21/2017
此方法的一个问题是,对于大型数据库(许多表和大量数据),运行脚本进行还原需要很长时间。但它既方便又简单