我希望能够将整个数据库从Microsoft SQL复制到另一个Web友好数据库,例如CouchDB甚至mySQL。
我需要每天进行复制,并且只是想知道是否可能,如果是这样,我将如何以最少的编码进行复制。
由于
答案 0 :(得分:10)
可以使用SymmetricDS,这是一个开源解决方案,可以在不同的数据库(如SQL-Server和MySQL)之间复制更改。一些功能是:
它具有初始加载功能,可以使数据库保持同步,然后在捕获数据时不断发送更改。有很多配置选项,因此您可以设置同步的频率。
答案 1 :(得分:2)
您可以使用一些方法。您命名了两个完全不同的数据库,因此我将为每个数据库提供快速提示。
SQL Server - > MySQL的。这应该是非常直截了当的。您至少可以使用C#或Java编写应用程序,或者只是从SQL Server中读取数据,然后将数据写入MySQL。你把那个应用程序按计划完成了,你就完成了。
SQL Server - >长椅。您可以编写C# - 作为示例 - 并将其部署到SQL Server。您编写的代码将作为存储过程公开。您可以在C#中编写查询,然后将对象序列化为JSON,并将这些作为存储过程的结果返回。我已经做到了这一点并且效果很好而且非常快。
任何一种方法都需要知道发生了什么变化。您可以提取数据,管理目标和源之间的差异。例如,只获取在给定日期之后修改的记录,然后更新日期,以便下次只获取新记录等。
您也可以推送数据。您可以使用触发器来运行写入队列(外部或内部)的存储过程,然后查看队列并推送到Couch / MySQL。
很多选择。
我们在工作中使用Mule ESB在不同系统之间移动数据(SQL Server-> Mongo,SQL Server-> Couch,MySQL-> Mongo),它运行良好。