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

本文关键字:方法 是什么 同步 数据库 使用 | 更新日期: 2023-09-27 18:35:36

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

我有一个源数据库(SQL Server 2008

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

我在这里寻找一些东西。 现在我正在使用SqlDataReader并将数据拉入DataTable并使用这样的数据,以便在将其推送到目标数据库之前对其进行操作,但是有什么更好(更快,更节省内存)的方法呢?

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

技术信息:

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

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

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

然后我会使用 SQL 合并来更新目标。

MERGE (Transact-SQL)

我将完全最小化 c# 所扮演的角色。

可以使用 SQL CLR 将 .NET 代码嵌入到 sql 服务器上,以便删除数据库和计算机之间的往返时间。

您应该将 Integration Services 用于 ETL 任务。