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

xpd*_*pda 8 sql-server sql-server-2012 sql-server-7

我想将数据库从 SQL Server 7.0 移动到 SQL Server 2012。它们不兼容备份和还原。有没有办法从 SQL Server 7.0 导出并导入到 2012?我只需要表——没有视图或存储过程。

Mik*_*Fal 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。

  • 我强烈推荐解决方案 2 而不是解决方案 1。 (3认同)