如何将SQL Server 7数据库移至SQL Server 2012?


8

我想将数据库从SQL Server 7.0迁移到SQL Server2012。它们与备份和还原不兼容。有没有一种方法可以从SQL Server 7.0导出并将其导入到2012?我只需要表-不需要视图或存储过程。


1
之后,detach / attach命令是否无法用于调整兼容性级别?
msi77 2013年

Answers:


13

解决方案1

使用ETL流程复制数据。假定您有一个SQL Server 7实例并且正在运行且可访问数据库。您可以使用几种工具,但是我能看到的最简单的方法是:

  1. 编写所有SQL Server 7对象的脚本,然后在SQL Server 2012中创建它们。如果存在任何SQL Server 7特定的语法,则可能必须调整脚本。
  2. 使用ETL流程复制数据。一些替代方案:

    • BCP-使用BCP将每个表转储到RAW或文本文件中,然后使用BCP将它们加载到SQL Server 2012对象中。
    • SQL Server 2012中的导入/导出向导-使用导入/导出向导创建数据传输任务。
    • SSIS-本质上与“导入/导出向导”相同,但是功能更多。

总体而言,这可能是一个乏味的过程,但是允许您将数据直接从一个数据库复制到另一个数据库。如果使用BCP路由,则将需要一些存储空间来存储转储文件,但这不必是数据库存储。

解决方案2

通过使用升级到SQL Server 2005的中间步骤来升级数据库。这假设您有权访问SQL Server 2005媒体和一台支持其的服务器。无法将SQL Server 7升级到SQL Server 2008,因为该升级路径不受支持,但是如果您可以将数据库还原到SQL Server 2005,则可以依次备份SQL Server 2005版本并将其还原到SQL Server 2012。


3
我强烈建议解决方案2胜过解决方案
1。– mrdenny

1
那就是我所做的,除了sql 7> 2000> 2008> 2012,因为我没有可用的2005。
xpda

1
我同意-选项2绝对是最好的选择-看看这个答案,就可以看出在迁移和迁移方面的利弊-特别是对于这样的事情。并祝贺您脱离7.0!;-)
Mike Walsh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.