Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MSSQL->;MySQL或PostgreSQL数据库复制_Php_Mysql_Sql Server_Postgresql_Database Replication - Fatal编程技术网

Php MSSQL->;MySQL或PostgreSQL数据库复制

Php MSSQL->;MySQL或PostgreSQL数据库复制,php,mysql,sql-server,postgresql,database-replication,Php,Mysql,Sql Server,Postgresql,Database Replication,我发现自己处于一种肯定有人在某个时候陷入困境的境地 我们公司运行一个基于MSSQL的内部数据库,我们的网站位于一个外部服务器上,目前运行MySQL。问题在于,这两个数据库需要越来越频繁地相互通信 我们当前的解决方案涉及SSIS包,但它们是临时的,而且通常速度较慢。在从内部服务器重建表之前,我们常常不得不在实时生产服务器上删除表。当然,这会导致数据不一致,所以我们尝试在高峰时间之外执行这些操作。但是,这会导致从MySQL传输到MSSQL的某些数据延迟24小时,然后再延迟24小时返回MySQL。所有

我发现自己处于一种肯定有人在某个时候陷入困境的境地

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

我们当前的解决方案涉及SSIS包,但它们是临时的,而且通常速度较慢。在从内部服务器重建表之前,我们常常不得不在实时生产服务器上删除表。当然,这会导致数据不一致,所以我们尝试在高峰时间之外执行这些操作。但是,这会导致从MySQL传输到MSSQL的某些数据延迟24小时,然后再延迟24小时返回MySQL。所有这些都不理想

我正在寻找的是一个解决方案,它将允许我们内部的MSSQL服务器和任何数据库之间的复制,这些数据库可以安装在linux机器上,并可以很好地使用PHP。正如我所说的,我们目前运行MySQL,因此我们倾向于使用任何包含MySQL的解决方案,但所有其他建议都会被广泛接受

我曾在某个地方读到PostgreSQL是一个vialbe解决方案,但我现在正努力寻找我读到的地方。我接触了一些可能有用的工具,比如DBMoto和Slony-I,在这种情况下,有人对这两种工具都有经验吗

或者,我们是不是完全找错了方向,我们是否应该尝试将MSSQL集成到PHP环境中

如有任何想法或建议,将不胜感激

非常感谢


Rob

我所知道的最好的解决方案,也是我在这类工作中使用过的最好的解决方案是

SymmetricDS是一个异步数据复制软件包 支持多个订阅服务器和双向同步


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

您提供的信息不足以帮助。。。两个不同数据库之间的任何双向复制都肯定会有一些问题。。。有些是由于数据库中的差异造成的,有些是由于可用的复制选项造成的。。。有什么原因不同时使用相同的数据库(MSSQL用于两者或Postgresql用于两者或Oracle用于两者…)吗?这里的现状是MSSQL+MySQL。我们没有更改内部数据库的选项,但如果您建议这样做,我很乐意研究将web服务器更改为MSSQL的选项。我看到PHP和MSSQL的对话比较愉快,但是在CentOS上安装MSSQL需要一些虚拟化解决方案吗?MSSQL需要一个Windows服务器。。。PHP也可以在Windows上运行。。。因此,一个选择是切换到带有MSSQL的Windows web服务器……虽然我想这是一个选择,但我只想将其作为最后的手段。目前我们对linux服务器相当满意,而切换到windows服务器将是一场巨大的变革。那么,我祝您好运,有人能为您的场景提供生产质量的答案…看起来是个不错的选择,设置和配置起来很容易吗?配置起来不太复杂,官方网站上有很好的文档。我刚刚注意到它的兼容性仅限于SQL Server 2005,我们运行2008 R2,你知道它是否也可以兼容吗?我也用过SQL Server 2008 R2和JTDS JDBC驱动程序。谢谢,阿莱根。下周我会认真测试这个。我会告诉你我的进展。我是通过mssql_*系列函数来访问的,但由于这两台服务器在地理位置上相距遥远,我担心这两台服务器之间的延迟会导致重大问题。您的设置也是这样吗?不,我们的web服务器和数据库服务器非常接近。(我们在从办公室到产品的较长距离上进行一些通信,但不是经常进行,而且延迟确实会出现)。但是,如果您已经通过慢速链接处理MSSQLSQL复制,那么MSSQLSQL复制应该不会那么麻烦?虽然我相信它只能在单一主模式下工作。