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

时间:2012-01-30 21:23:23

标签: c# asp.net sql-server

1)我正在使用C#和SQL Server的桌面应用程序(机器A)。我有另一台本地机器(机器B)它也有自己的SQL服务器实例。我想将A的数据库与B'database同步。此过程应在一个时间间隔内进行。

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

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

4 个答案:

答案 0 :(得分:4)

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

他们在数据和架构同步方面做得很好。

答案 1 :(得分:4)

SQL Server复制可以为您完成此操作。它使用发布 - 订阅方法。我想你可能正在寻找“合并”复制。

one-page article会为您提供一些亮点。

this会告诉你所有细节。

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

答案 2 :(得分:3)

您可以使用至少两种MS工具:SQL-replicationSync Framework

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

SQL-Replication在SQL Server中是开箱即用的(尽管不是快速版本)。 MS-Sync Framework与.NET框架并行,但仍然是免费的。

答案 3 :(得分:2)

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

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