12

SQL Server 2014 在这方面有什么变化吗?我已经看过这篇文章Is it possible to restore Sql Server 2008 backup in sql server 2005我知道这不可能作为 2012 -> 2008 的场景,但我想知道 MS 是否在 2014 版本中进行了任何更改。

我们正在评估 2014 版本,我们有一个相当大的数据库在测试中。我们想将该数据库的备份恢复到 SQL Server 2008,因为该物理机有更多空间、RAM、……

当我尝试恢复备份时收到标准错误消息,但我想知道 SQL Server 2014 中是否还有我可能丢失的其他内容。

4

7 回答 7

38

不,这是不可能的。Stack Overflow 希望我用更长的答案来回答,所以我会再说不。

文档:https ://docs.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql#compatibility

由较新版本的 SQL Server 创建的备份无法在早期版本的 SQL Server 中还原。

于 2013-07-19T10:33:27.537 回答
18

据我所知,不是真的,但这里有几件事你可以尝试。

第三方工具:在 2008 实例上创建空数据库,并使用ApexSQL DiffData Diff等第三方工具来同步模式和表。

只需在试用模式下使用这些(或市场上的任何其他产品,如 Red Gate、Idera、Dev Art,还有很多类似的)即可完成工作。

生成脚本:转到任务 -> 生成脚本,选择脚本数据的选项并在 2008 实例上执行它。工作得很好,但请注意脚本顺序是您必须小心的事情。默认情况下,脚本未排序以考虑依赖关系。

于 2013-07-19T10:42:26.100 回答
3

这是一个很老的帖子,但我今天不得不这样做。我只是右键单击 SQL2014 中的数据库并选择导出数据选项,这有助于我将数据移动到 SQL2012。

于 2015-02-03T10:02:15.913 回答
1

很老的问题......但我今天遇到了同样的问题并用脚本解决了,有点慢和复杂但有效。我这样做了:

让我们从源数据库(SQL 2014)开始,右键单击要备份的数据库 ->生成脚本-> “编写整个数据库和所有数据库对象的脚本”(或者如果需要,您可以只选择一些表)->最重要的一步是在“设置脚本选项”选项卡中,在这里您必须单击“高级”并查找“服务器版本脚本”选项,在我的情况下,我可以从 SQL 2005 中选择所有内容,还要注意选项“脚本的数据类型”我建议“架构和数据”以及脚本触发器和脚本全文索引(如果需要,默认情况下为 false),最后单击“确定”和“下一步”。应该是这样的:

设置脚本选项

现在将您生成的脚本转移到您的 SQL 2008 中,打开它并最后一个重要步骤:您必须更改mdfldf位置!!

这就是所有人,快乐的F5!:D

于 2020-01-31T10:52:43.477 回答
0

不,我想您无法将数据库从较高版本恢复到较低版本,您可以使数据流 b/w,即您可以编写脚本。 http://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/

于 2013-07-19T14:42:00.450 回答
0

请使用 SQL Server Integration Services(传输数据库任务)中的 SQL Server Data Tools,如下所示:https ://stackoverflow.com/a/27777823/2127493

于 2015-01-07T08:59:32.543 回答
0

如果您有两个版本,则可以创建从新到旧的合并复制。在较新的 sql server 上创建合并发布,在旧版本上创建订阅。初始化订阅后,您可以创建具有相同结构和相同内容但使用旧版本的数据库备份,并将其还原到旧目标服务器上。您也可以将此方法与 sql server 2016 一起使用以定位 2014、2012 或 2008。

于 2017-08-09T19:42:44.527 回答