基于另一个SQL Server上的表中的数据在一个SQL Server上的更新表
问题描述:
我有两个SQL Server实例(LocalDb
和LiveDb
)使用两个不同的连接字符串。我目前使用C#的SqlBulkCopy
将主表从Livedb
转移到我的localDb
。这工作正常,速度非常快。基于另一个SQL Server上的表中的数据在一个SQL Server上的更新表
但是,我需要在我的LiveDb
上根据我的LocalDB
中的记录查询UPDATE
表。有没有在C#Windows应用程序中执行此操作的示例?
答
听起来像是你只需要设置一个链接的服务器... here's a good note on that.
一旦你这样做,它会是这样的(使用LiveDb
连接运行此)
update l
set l.someColumn = lo.someColumn
from
TableName l --live db here...
inner join
LocalDb.dbo.TableName lo on --linked server
lo.TableNameID = l.TableNameID --or what ever join condition
或者,如果你正在做某种分期过程......也许是这样的。
select
...
into #myTempTable --often faster to stage data when pulling from linked server
from
LocalDb.dbo.TableName --linked server
update l
...
TableName l --live db here...
etc...
是LiveDB生产数据库吗? – Amit
是的。我的应用程序是一个时钟,检查/检查我正在写入。该程序完全在sql的本地实例上运行。它每隔30秒将签入记录写入现场制作数据库。我的问题是如何在本地数据库检出时更新活动数据库上的字段? – Jeff
有一点信息。我需要在live db上更新的记录是基于本地db的记录 – Jeff