SQL Server 2008 R2中两种不同模式之间的实时复制

时间:2013-03-14 22:08:46

标签: ssis sql-server-2008-r2 replication

我的客户端有一个遗留应用程序,部分将被新应用程序取代,它们都使用具有相似但不同模式的SQL Server 2008 R2数据库。新数据库是旧数据库的超级集合,其中包含合并和分解的表,以便更好地进行规范化。

虽然最终新应用程序将完全取代旧应用程序,但它们将在一段时间内并行存在,并且在一个应用程序中输入的数据需要在近实时中反映在另一个应用程序中。是否有任何产品或甚至更好的MS软件包可以支持Replication + SSIS?

我们现在提出的解决方案是在旧数据库中实现触发器,该触发器写入新数据库并实现对数据层中旧数据库的复制(如果有人关心,则为C#/ .NET)。出于技术和政治原因,我们不可能修改旧应用程序(Cold Fusion)来做同样的事情。虽然这个解决方案有效但显然很难看,如果可能的话,我们会更喜欢更优雅的东西。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您获得的解决方案(触发器)可能与任何解决方案一样好。我认为你不太可能找到一个现成的解决方案,只是考虑到规范化过程中方差的性质。

您可以使用merge replication完成一些聪明的事情。

也许您实际上可以在新数据库中使用相同的数据模型,并建立合并复制。然后创建视图,并为它们附加一些instead of触发器,以模拟新的表结构。 (或者,完全向后 - 将新模型复制到旧数据库,并使用视图+触发器将旧数据模型模拟到旧应用程序。)

但是,在这种情况下,单个最佳选项可能是创建一个SSIS包。毕竟,这确实是SSIS旨在解决的问题。