我的公司目前有一个在Sql Server 2005上运行的事务数据库。我们将添加一个MySql(在linux上运行)报告db。我们需要从MS-Sql db到MySql db运行复制。它不一定是实时的,但应该在几分钟之内。
我有很好的MSSql Dev技能和马马虎虎的技能,但没有MySql背景。我们团队中的MySql人员没有MSSql经验。
我想知道是否有人设置了类似的东西并且可能有一些建议。我已经看到了在两者之间迁移数据的一些事情,但对于正在进行的复制并不多。现在我最好的猜测是在SSIS中设置一些内容并在Sql Agent下运行它。我现在要开始研究SSIS的想法,但欢迎任何建议。
答案 0 :(得分:4)
我的朋友对于几乎相同的情况(他将一些表中的一些数据从MSSQL复制到MySQL)构建了类似的东西:
这很好,因为:
优点:
缺点:
答案 1 :(得分:2)
我认为这取决于您将在MySQL数据库之上使用哪种报告软件。如果您正在使用Pentaho - 他们有软件来处理这种情况。如果报告只是临时的,结构将保持完全相同,我会认真考虑设置另一个MSSQL实例并使用它。如果您已经拥有MSSQL,请不要试图让两者互相友好。您应该能够将第二个MSSQL实例绑定到有限的资源,以便事务数据库永远不会受到影响,即使它们位于同一台计算机上。
答案 2 :(得分:0)
第三方应用程序声称能够执行此操作:Daffodil Replicator。我认为它既可以作为开源也可以作为企业。
答案 3 :(得分:0)
SSIS ETL似乎是最简单的方法。您实际上可以导出到临时区域(CSV文件)而不是导入到MySQL。这将解决不同的格式问题。如果您发挥创意,MySQL支持CSV存储引擎(see here),因此这可以节省SSIS中的加载步骤。