MSSQL - > MySQL或PostgreSQL数据库复制

时间:2011-12-13 09:53:32

标签: php mysql sql-server postgresql database-replication

我发现自己的情况是其他人必须在某个时候陷入困境。

我们公司运行一个内部基于MSSQL的数据库,然后我们的网站位于外部服务器上,目前运行MySQL。问题在于两个数据库需要越来越频繁地相互通信。

我们目前的解决方案涉及SSIS包,但它们是临时性的并且通常很慢。我们最终经常不得不在我们的实时生产服务器上删除表,然后从内部服务器重建它们。当然这会导致数据不一致,因此我们尝试在高峰时段之外执行这些操作。然而,这导致一些数据从MySQL传输到MSSQL的24小时延迟,然后再将24小时的延迟恢复到MySQL。这些都不是理想的。

我正在寻找的是一个解决方案,它允许我们的内部MSSQL服务器和任何可以放在Linux机器上的数据库之间进行复制,并且可以很好地与PHP配合使用。正如我所说,我们目前运行MySQL,所以我们偏好任何包含该解决方案的解决方案,但所有其他建议都会得到很好的接收。

我在某处读过PostgreSQL是一个vialbe解决方案,但我现在正在努力找到我读到的地方。我已经找到了一些可能有用的工具,例如DBMoto和Slony-I,有没有人在这种情况下有任何经验?

或者,我们是否只是简单地吠叫错误的树,我们是否应该尝试将MSSQL集成到我们的PHP环境中?

任何想法或建议都会感激不尽。

非常感谢

罗布

2 个答案:

答案 0 :(得分:5)

我知道并且我用于此类工作的最佳解决方案是SymmetricDS

  

SymmetricDS是一个异步数据复制软件包   支持多个用户和双向同步。

答案 1 :(得分:0)

您可以使用FreeTDS和mssql_ *系列函数(或基于其构建的类,或使用替代freetds的扩展)从PHP访问MSSQL服务器。我们将此用于管理应用程序,Linux / PHP网站与MSSQL数据库通信。