MySQL 到 SQL Server 的迁移
Posted
技术标签:
【中文标题】MySQL 到 SQL Server 的迁移【英文标题】:MySQL to SQL Server migration 【发布时间】:2011-10-07 23:36:50 【问题描述】:我有一个 mysql 数据库,其中包含我需要保留但迁移到 SQL Server 2008 的数据。
我知道数据应该从表到表的端到端去向,但我不知道如何移动数据。我环顾了网络,但似乎有“解决方案”,您必须下载并运行。如果可能的话,我宁愿自己在编写脚本或代码方面做一些事情。
谁能推荐最好的方法吗?
【问题讨论】:
【参考方案1】:我曾经做过一次,前段时间。首先,您可以使用 odbc mysql 连接器将您的 mssql 服务器耦合到 mysql 服务器
http://dev.mysql.com/downloads/connector/
建立连接后,您可以编写数据库过程,就像它是两个 mssql db 一样。可能最容易编写一些 sql 批处理脚本,包括一个游标,您可以在其中运行表的每一行,并根据字段决定将来需要该字段的位置。
光标示例:http://www.mssqltips.com/tip.asp?tip=1599
如果您决定使用光标,则可以使用参数来提高性能。我特别记得FORWARD_ONLY
参数给了我很大的提升。
【讨论】:
【参考方案2】:您可以使用 SQL Server Standard Edition 附带的导入/导出向导。
使用 ODBC 数据源从 MySQL 中选择您的“数据源”。注意:您需要首先安装 MySQL 的 from ODBC 驱动程序 (ODBC Connector)。然后,选择您的 SQL Server 目标。选择所有表,然后启动它。您需要手动添加主键和外键以及索引。
更自动化的方法是使用SQL Server Migration Assistant for MySQL,也是免费的。它具有自动为您重新创建关系和索引的好处。可能是您最好的选择。
【讨论】:
【参考方案3】:试试这个教程,从 Mysql 迁移到 SQL Server 非常容易,并且如前所述很简单
http://www.codeproject.com/Articles/29106/Migrate-MySQL-to-Microsoft-SQL-Server
谢谢
【讨论】:
【参考方案4】:您是否尝试过来自 MSFT 的名为 SQL Server Migration Assistance for MySQL 的工具? https://www.microsoft.com/download/en/details.aspx?id=1495
【讨论】:
【参考方案5】:你有几个选择:
在 sql server 端,您可以使用称为 linked server 的东西建立与旧 mysql 数据库的连接。这将允许您为从 mysql 表返回数据的 sql server 编写 sql 代码。您可以使用它来构建 INSERT 或 SELECT INTO 语句。 您可以为 mysql 编写查询以将数据导出为 csv,然后使用 sql server 的 BULK INSERT 功能有效地导入 csv 数据。 您可以使用 Sql Server 集成服务来设置从 mysql 移动数据。无论您选择哪个,都必须手动移动索引、外键、触发器、存储过程和安全性等非数据工件。
【讨论】:
+1 链接服务器选项可能是我处理它的方式。您需要在 SQL Server 机器上为 MySQL 提供 ODBC 连接器。以上是关于MySQL 到 SQL Server 的迁移的主要内容,如果未能解决你的问题,请参考以下文章
如何将 SQL Server 存储过程迁移到 Mysql [关闭]