我在6年前有过使用MSSQL Server的经验,所以我现在对其工作方式只有基本的了解。
我提出的问题是在同一个数据库服务器上运行的两个实时CRM(NopCommerce和基于Rainbow Portal的一个,如果有人好奇的话)之间同步数据库。我感兴趣的数据分布在一个DB中的7个表中,另一个中分布在5个表中。我们的想法是让两个具有相同数据的Web应用程序在一个中立即传播到另一个。
每个数据库都有许多触发器和存储过程,用于保持数据的一致性。
我不了解SQL Server的所有可能性,因此我愿意接受有关实现目标的最佳和最快方法的建议。它是关于写更多的触发器?我应该创建一个“观察者”应用程序吗?是否有一些内置的机制?
谢谢!
答案 0 :(得分:1)
您可能希望查看SQL Server Replication - http://msdn.microsoft.com/en-us/library/bb500346.aspx,特别是Merge Replication
答案 1 :(得分:1)
您应该查看SQL Replication,和/或使用SSIS进行集成ETL和调度等。
触发器(尤其是跨数据库)可能很难维护和调试 - 您还可以考虑将数据加载到单独的(第三个)临时数据库中,然后再将数据传播到其他2个数据库中?
(其他替代方案包括同步和异步镜像,这需要整个数据库同步,并且日志传送 - 也是整个数据库 - 这只是一种方式,通常用于冗余 - 这些不太可能有用为了你的目的虽然)