我们托管了几个 SQL Server,计划升级环境(仍然是经典的 asp)。我们正在考虑是否要迁移到 LAMP(或 WAMP)环境,而不是仅遵循默认的 .net 路由。
如果我们有一个 MySQL 服务器和 SQL 服务器(在过渡期间)——在两者之间传输数据有哪些选项?
我并不是说进行一次性迁移 - 例如,如果数据仍在 SQL Server 上捕获,并且我们需要每天(或理想情况下更频繁地)将这些数据移到 MySQL 上以进行某些报告处理,那么我们有哪些选择?我们是否仅限于使用脚本导出到 csv/txt?
如果我们需要以另一种方式移动数据,有什么可用的方法吗?
答案1
看http://www.mysql.com/products/connector/
您可以在 SQL Server 上使用一些 VBScript,并使用 ODBC 或 ADO.Net 链接将数据写入 MySQL。但您必须手动管理“复制”,即您的脚本必须确定要在 MySQL 数据库中创建/更新/删除什么。
我相信有适用于 unix 的 SQL Server 驱动程序,因此您可以在 unix 机器上运行脚本。然而,我在这里超出了我的舒适区。
JR
答案2
我会研究 ETL 工具。不幸的是,SSIS 没有 MySQL 驱动程序,我听说可以使用 OLE DB .NET 驱动程序并以某种方式使其工作,但我没有成功。
检查 Pentaho Kettle,我相信它开箱即用地支持 MySQL,然后您可以使用 MS JDBC 驱动程序获得 SQL Server 支持。
如果您有预算,Pervasive Data Integrator 等商业工具也值得一看。
抱歉,我似乎不被允许发布超链接!
答案3
您认为复制是一种选择吗?将 MySQL 服务器配置为从服务器,并从 SQL Server(作为主服务器)进行复制。
我提出这个选项是因为你说你需要的不仅仅是一次性的迁移和复制可能非常适合这个目标,因为间歇地进行手动导出有两个缺点:它很笨拙,但更重要的是,为了保存状态之间这两台机器,你需要二导出(每台机器一种形式),然后处理潜在的冲突。
您必须评估其在特定应用中的实用性,但它可能不是您所需要的。请在此处发表评论并让我们知道您做了什么!
答案4
适用于 MySQL 的 SQL Server 迁移助手 (SSMA) 可让您快速将 MySQL 数据库架构转换为 SQL Server 或 SQL Azure 架构,将生成的架构上传到 SQL Server 或 SQL Azure,以及将数据从 MySQL 迁移到 SQL Server 或 SQL Azure。
您可以使用 msdn 上的这个小应用程序和指南。开始吧这里:http://msdn.microsoft.com/en-us/library/hh313129%28v=sql.110%29.aspx