0

我有一个客户,他的旧应用程序将部分被新应用程序替换,两者都使用具有相似但不同架构的 SQL Server 2008 R2 数据库。新数据库是旧数据库的超级集,其中包含合并表和拆分表以实现更好的规范化。

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

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

有任何想法吗?

4

1 回答 1

1

您拥有的解决方案(触发器)可能与任何解决方案一样好。我认为您不太可能找到现成的解决方案,只要考虑到标准化过程中方差的性质。

您也许可以使用合并复制来完成一些巧妙的事情。

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

但是,在这种情况下,最好的选择可能是创建一个 SSIS 包。毕竟,这确实是 SSIS 旨在处理的那种问题。

于 2013-03-16T05:20:25.820 回答