使用C#同步数据库的最快方法是什么?

时间:2012-05-29 21:00:35

标签: c# sql sql-server datatable synchronization

我有一个问题,显然是因为我在这里......

我有一个源数据库(SQL Server 2008)和一个目标数据库(也是SQL Server 2008)。需要进行修改,这意味着许多数据必须通过C#(转换坐标,三角测量等)。但是你会怎么做呢?

我在这里寻找一些东西。现在我正在使用SqlDataReader并将数据拉入DataTable并使用这样的数据,以便在我将其推入目标数据库之前对其进行操作,但更好的是什么(这样做的速度更快,内存效率更高?

另外,对于不需要操作的数据,我仍然以同样的方式完成它,我认为有一种方法可以避免更快的数据?

技术信息:

  • DB:2 x SQL Server 2008(source / dest) - 在同一台服务器上
  • 语言:C#/ .NET 3.5
  • 操作系统:Windows

3 个答案:

答案 0 :(得分:2)

我会将源数据插入到目标数据库的临时表中。

然后我会使用SQL Merge来更新目的地。

MERGE (Transact-SQL)

我会完全尽量减少c#扮演的角色。

答案 1 :(得分:0)

您可以使用SQL CLR将.NET代码嵌入到sql server上,以消除数据库与计算机之间的往返时间。

答案 2 :(得分:0)

您应该使用Integration Services进行ETL任务。