SQL Server 2014 备份到 2012

Posted

技术标签:

【中文标题】SQL Server 2014 备份到 2012【英文标题】:SQL Server 2014 backup to 2012 【发布时间】:2015-03-02 21:02:38 【问题描述】:

是否有任何工具可以将 SQL Server 2014 数据库转换为 2012?

我试过生成脚本,但是生成的脚本数据太大,SQL Server Management Studio没有执行,我需要架构和数据。

【问题讨论】:

【参考方案1】:

使用脚本,但不要通过 Management Studio 执行它,而是使用轻量级 sqlcmd 实用程序。

http://msdn.microsoft.com/es-es/library/ms162773.aspx

【讨论】:

如果数据库包含数百万行的表,生成的脚本可能会变得不切实际(几十或几百 GB)。即使使用 sqlcmd 实用程序,执行如此庞大的脚本也会很痛苦。 @Dan 我用这种方法加载了几千兆字节数据的文件没有问题.. 好吧,我必须承认我从未尝试过。但通常,该脚本占用的空间是数据库本身的 2-3 倍,如果您的环境中没有足够的磁盘空间,这可能会成为问题。这显然可以通过将脚本分解成更小的部分来解决,但它似乎比使用 SSIS Transfer Database Task 等工作要多得多。【参考方案2】:

据我所知,在不使用第三方工具的情况下,基本上有 三个 两个选项可以将数据库迁移到较低版本的 SQL Server:

生成脚本(不太适合大量数据) 自定义脚本和 BCP 或导入/导出向导 SQL Server 集成服务(传输数据库任务) 如上所述,

第一个选项不适合您的情况。

第二个选项是简单地编写数据库结构的脚本,然后使用导入/导出向导复制数据,一次一张表。请注意,如果您的数据库中有外键约束,您可能希望禁用约束,直到您用数据填充所有表。 This blog post 详细解释了如何做到这一点。

第三个选项使用SISS Transfer Database Task,它基本上使用SMO 在目标服务器上创建对象,然后传输数据。这是在不同版本的 SQL Server 实例之间迁移数据库的推荐方法。 SSIS 要求您已安装适用于 Visual Studio 的 SQL Server Data Tools - Business Intelligence (SSDT-BI)。在 SQL Server 2012 之前,这称为商业智能开发工作室 (BIDS)。你可以在这里下载:

Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013 Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012 如果你没有 Visual Studio,SSDT-BI / BIDS is included in the SQL Server installation。

【讨论】:

如何使用 SSIS 传输数据库任务? Microsoft SQL Server Data Tools 必须安装在 Visual Studio 中吗?或... 我已经用一些关于 SSDT-BI 和 BIDS 的链接更新了我的答案。【参考方案3】:

哦,好吧,Dan 的第二个选项不起作用:在为 VS2013 安装 SSDT-BI 并配置数据库传输任务后,它说源数据库实例的版本必须低于或等于目标数据库实例的版本: 所以,从 2014 年迁移到 2012 年(或者在我的情况下是 2008R2)是不可能的。

【讨论】:

以上是关于SQL Server 2014 备份到 2012的主要内容,如果未能解决你的问题,请参考以下文章

尝试将 SQL Server 2012 Express 还原到 2014

如何在 SQL Server 2008 中恢复 SQL Server 2014 备份

sql server 2012的备份怎么还原到sql server 2008

Umbraco 从 SQL Server 2012 迁移到 SQL Server 2008 R2

在 SQL Server 2012 上还原 SQL Server 2000 备份

如何设置将SQL SERVER2012数据库备份还原到SQL SERVER2008上