是否存在用于同步本地和远程SQL server数据库的.NET技术



1)我有一个使用C#和SQL Server的桌面应用程序(机器a)。我有另一台本地机器(机器B),它也有自己的SQL服务器实例。我想将A的数据库与B的数据库同步。这个过程应该在一段时间内发生。

2) 我还有一个运行在web服务器(机器C)上的ASP.NET web应用程序。我还想将A的数据库与C的数据库同步。(还有SQL Server。)

我必须为这个问题制定一个解决方案。问题是我不太确定我将使用什么技术。我必须使用.NET技术或类似的Microsoft技术。我们的主要应用程序是用C#编写的。

我会使用红门。http://www.red-gate.com/products/sql-development/sql-comparison-sdk/

它们在数据和模式同步方面都做得很好。

SQL Server复制可以为您做到这一点。它使用发布-订阅方法。我认为您可能正在寻找"合并"复制。

这篇一页的文章将给你一些亮点。

这会告诉你所有的细节。

编辑:鉴于您对定价感兴趣,复制适用于SQL Server的所有版本,但其功能在低端版本上非常有限。但是,如果你有一个更高端的版本,它已经包含在内了。

至少有两种MS工具可以使用:SQL复制或同步框架。

这取决于你的问题有多深和复杂。比如:你想要一个微调的工具,还是每次都同步?此外,两者之间的另一个区别是您希望如何处理"离线并发冲突"。如果在您的示例中,在您的服务器A、B、C上,有人修改了服务器A中的记录,而B有以前版本的副本,修改并发布了它,那么在您的场景中,哪一个应该获胜?也许是最后一个,也许是第一个,也许根本没有人?

SQL复制在SQL Server中是现成的(但不是快速版本)。MS同步框架与.NET框架并行,但仍然是免费的。

我建议查看Redgate的Sql Compare和Sql Data Comparehttp://www.red-gate.com/products/

不要浪费时间/金钱重新发明轮子:)

相关内容

最新更新