Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Ssis SQL Server 2008 R2中两个不同架构之间的实时复制_Ssis_Sql Server 2008 R2_Replication - Fatal编程技术网

Ssis SQL Server 2008 R2中两个不同架构之间的实时复制

Ssis SQL Server 2008 R2中两个不同架构之间的实时复制,ssis,sql-server-2008-r2,replication,Ssis,Sql Server 2008 R2,Replication,我有一个客户机,它有一个旧的应用程序,该应用程序将被一个新的应用程序部分替换,这两个应用程序都使用具有相似但不同模式的SQL Server 2008 R2数据库。新数据库是旧数据库的超级集合,其中包含合并和分解的表,以实现更好的规范化 虽然最终新的应用程序将完全取代旧的应用程序,但它们将并行存在一段时间,在一个应用程序中输入的数据需要在另一个应用程序中近实时地反映出来。是否有任何产品或更好的MS包支持复制+SSIS之类的功能 我们现在提出的解决方案是在旧数据库中实现触发器,将其写入新数据库,并在

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

虽然最终新的应用程序将完全取代旧的应用程序,但它们将并行存在一段时间,在一个应用程序中输入的数据需要在另一个应用程序中近实时地反映出来。是否有任何产品或更好的MS包支持复制+SSIS之类的功能

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

有什么想法吗?

你得到的解决方案(触发器)可能和其他解决方案一样好。我认为你不太可能找到现成的解决方案,仅仅考虑到标准化过程中方差的性质

你也许可以用它来完成一些聪明的事情

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


但是,在这种情况下,最好的选择可能是创建SSIS包。这确实是SSIS设计用来处理的问题。

我们有基于触发器/日志的复制系统,它并不难看,工作正常。考虑到你的限制,这听起来是最好的解决方案。就个人而言,我不会使用C#来传输数据,我会使用SSIS,但这实际上取决于您的团队技能。