如何更新将值带到第二个sql实例的表?

时间:2012-12-01 09:37:52

标签: sql sql-server

我在两台虚拟机上有两个SQL Server实例,Test服务器和Production服务器。

我需要向生产服务器执行UPDATE从测试服务器获取数据值。

例如:

UPDATE [server_production].dbname.mytable 
SET column1 = [server_test].dbname.mytable.column1

我该怎么做?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

在生产服务器上,定义指向测试服务器的Linked Server

然后,在生产服务器上,您可以运行类似于以下内容的查询来更新列:

UPDATE p
    SET column1 = t.column1
from <dbname>.<schema>.mytable p
join <TestLinkedServerName>.<dbname>.<schema>.mytable t
    on p.<id> = t.<id>

在上面的查询中,您需要为占位符提供值:

  • <dbname> - prod / test数据库的名称
  • <schema> - 定义表格的架构(通常为 dbo
  • <TestLinkedServerName> - 您为链接服务器提供的名称
  • <id> - 您的PK列,或唯一标识行并提供连接两个表的方法的列