将Microsoft SQL复制到其他数据库

时间:2013-02-14 12:11:15

标签: mysql sql couchdb database-replication

我希望能够将整个数据库从Microsoft SQL复制到另一个Web友好数据库,例如CouchDB甚至mySQL。

我需要每天进行复制,并且只是想知道是否可能,如果是这样,我将如何以最少的编码进行复制。

由于

2 个答案:

答案 0 :(得分:10)

可以使用SymmetricDS,这是一个开源解决方案,可以在不同的数据库(如SQL-Server和MySQL)之间复制更改。一些功能是:

  • 使用更改数据捕获和连续同步
  • 基于网络协议的低带宽传输
  • 在后台进行异步操作
  • 自动从网络停机时间恢复

它具有初始加载功能,可以使数据库保持同步,然后在捕获数据时不断发送更改。有很多配置选项,因此您可以设置同步的频率。

答案 1 :(得分:2)

您可以使用一些方法。您命名了两个完全不同的数据库,因此我将为每个数据库提供快速提示。

  1. SQL Server - > MySQL的。这应该是非常直截了当的。您至少可以使用C#或Java编写应用程序,或者只是从SQL Server中读取数据,然后将数据写入MySQL。你把那个应用程序按计划完成了,你就完成了。

  2. SQL Server - >长椅。您可以编写C# - 作为示例 - 并将其部署到SQL Server。您编写的代码将作为存储过程公开。您可以在C#中编写查询,然后将对象序列化为JSON,并将这些作为存储过程的结果返回。我已经做到了这一点并且效果很好而且非常快。

  3. 任何一种方法都需要知道发生了什么变化。您可以提取数据,管理目标和源之间的差异。例如,只获取在给定日期之后修改的记录,然后更新日期,以便下次只获取新记录等。

    您也可以推送数据。您可以使用触发器来运行写入队列(外部或内部)的存储过程,然后查看队列并推送到Couch / MySQL。

    很多选择。

    我们在工作中使用Mule ESB在不同系统之间移动数据(SQL Server-> Mongo,SQL Server-> Couch,MySQL-> Mongo),它运行良好。