MySQL到SQL Server的迁移

6
我有一个装满数据的mysql数据库,我需要保留数据但是迁移到SQL Server 2008。
我知道数据应该从哪里开始,到哪里结束,但是我不知道如何移动数据。我在网上找过,但似乎只有需要下载和运行的“解决方案”。如果可能的话,我宁愿自己编写脚本或代码。
请问有人能推荐最好的方法吗?
5个回答

7
您有几个选择:
  • 在sql服务器端,您可以设置与旧的mysql数据库的连接,使用称为链接服务器。这将允许您编写针对sql服务器的SQL代码,以从mysql表返回数据。您可以使用此功能构建INSERT或SELECT INTO语句。
  • 您可以编写mysql查询,将数据导出为CSV,然后使用sql服务器的BULK INSERT功能高效地导入CSV数据。
  • 您可以使用Sql Server集成服务从mysql中移动数据。

无论您选择哪种方法,都必须手动移动非数据工件,如索引,外键,触发器,存储过程和安全性。


+1 链接服务器选项可能是我处理它的方式。您需要在 SQL Server 机器上安装 MySQL 的 ODBC 连接器。 - Michael Berkowski

0

我曾经做过一次,那是很久以前的事了。首先,你可以使用ODBC MySQL连接器将你的MSSQL服务器与MySQL服务器耦合起来。

http://dev.mysql.com/downloads/connector/

连接建立后,您可以像操作两个 MSSQL 数据库一样编写数据库过程。最简单的方法可能是编写一些 SQL 批处理脚本,包括一个游标,您可以通过游标遍历每个表格行并根据字段确定将来需要哪个字段。

游标示例:http://www.mssqltips.com/tip.asp?tip=1599

如果您决定使用游标,可以调整参数以提高性能。我特别记得 FORWARD_ONLY 参数可以大幅提升性能。


0

0

您可以使用随 SQL Server Standard Edition 附带的导入/导出向导。

从 MySQL 中使用 ODBC 数据源选择您的“数据源”。注意:您需要先安装来自 MySQL 的 ODBC 驱动程序 (ODBC Connector)。然后,选择您的 SQL Server 目标。选择所有表格,然后启动它。您需要手动添加主键、外键和索引。

更自动化的方法是使用 SQL Server Migration Assistant for MySQL,也是免费的。它的好处是可以自动为您重新创建关系和索引。这可能是您最好的选择。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接