2011-07-18 174 views
6

我有一个MySQL数据库的完整数据的,我需要保持,但迁移到SQL Server 2008的MySQL到SQL Server迁移

我知道端到端其中数据应该去,桌到桌,但我没有想法如何去移动数据。我浏览过网页,但似乎有“解决方案”,你必须下载并运行。如果可能的话,我宁愿自己写一些脚本或代码。

任何人都可以推荐最好的方法吗?

回答

6

您有几种选择在这里:

  • 上的SQL Server端,您可以设置使用分贝东西叫做linked server你的旧版本的MySQL连接。这将允许您为从mysql表返回数据的sql server编写sql代码。您可以使用它来构建INSERT或SELECT INTO语句。
  • 您可以编写mysql查询以将您的数据导出为csv,然后使用sql server的BULK INSERT功能高效地导入csv数据。
  • 您可以使用Sql Server集成服务来设置从mysql移动数据。

无论哪个选择,非数据工件,如索引,外键,触发器,存储过程,并安全将不得不手动移动。

+0

+1链接的服务器选项可能是我如何处理它。在SQL Server计算机上,您需要一个用于MySQL的ODBC连接器。 –

0

我之前做过一次,前一段时间。首先你可以对夫妇使用ODBC MySQL连接

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

连接成功后,你的MSSQL服务器的MySQL服务器,你可以写你的数据库的程序,你会如果两个MSSQL数据库的。可能最简单的方法是编写一些sql批处理脚本,包括一个光标,您可以在表中查看每一行的每一行,并根据字段确定将来需要该字段的位置。光标的

例如:http://www.mssqltips.com/tip.asp?tip=1599

如果你决定使用光标,你可以用参数发挥,以提高性能。我特别记得FORWARD_ONLY参数给予了很大的提升。

0

您可以使用自带的导入/导出向导很简单与SQL Server标准版。

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

更多的自动化手段将通过使用SQL Server Migration Assistant for MySQL,也是免费的。它具有为您自动重新创建关系和索引的好处。可能是你最好的选择。