在c#中从一个服务器更新另一个服务器上的SQL Server表

本文关键字:服务器 另一个 更新 SQL Server 一个 | 更新日期: 2023-09-27 18:19:15

所以我有两个SqlConnection对象在c#即connection1connection2是两个不同的数据库在不同的服务器上。为了更清楚地了解情况,这些连接的示例连接字符串如下:

ConnectionString1 = @"Data Source=Server1;Initial Catalog=Database1;User ID=UID1;Password=Password1"
ConnectionString1 = @"Data Source=Server2;Initial Catalog=Database2;User ID=UID2;Password=Password2"

两个数据库(Database1Database2)都有一个表Employees,它具有相同的模式,列等。DataBase2基本上是Database1的副本。因此,Database1.Employees表中的任何更改都必须在DataBase2.Employees表中进行更新。

我已经尝试使用SqlBulkCopy类,这是完美的工作。但对于大型数据库来说,这似乎并不理想,因为在将数据从源表复制到目标表之前,我必须先删除内容,然后再复制内容。还有其他方法可以更新表格吗?

提前感谢!

在c#中从一个服务器更新另一个服务器上的SQL Server表

ConnectionString1 = @"Data Source=Server1;Initial Catalog=Database1;User ID=UID1;Password=Password1"
INSERT INTO [DatabaseName1].[dbo].[TableName]
SELECT FieldName
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=Server2;Initial Catalog=Database2;User ID=UID2;Password=Password2')
.DatabaseName2.dbo.TableName