跨链接服务器的SQL更新

时间:2010-11-03 13:28:51

标签: sql-server tsql

我在主机服务器上设置了链接服务器:“MyLinkedServer” 我的服务器“HostServer”上有一个SP。

我在HostServer上调用存储过程,它使用MyLinkedServer上DatabaseB中的表更新MyLinkedServer上DatabaseA中的表。

我有其他SP在同一场景中正常运行,但它们正在进行插入和删除,但是这个SP无法更新DatabaseA中的表(没有返回错误,只是没有更改数据),如果我将连接更改为实际上在“MyLinkedServer”上运行SP它没有问题。

UPDATE MyLinkedServer.DataBaseA.dbo.MyTable
SET Column1 = db2.Column1

FROM MyLinkedServer.DataBaseA.dbo.MyTable db1
INNER JOIN 
        (
            SELECT TOP 1 Column1 
            FROM MyLinkedServer.DataBaseB.dbo.MyTable db2
            WHERE db2.Id = 2
        ) AS db2 ON db2.Id = 2

WHERE db1.Id = 1

1 个答案:

答案 0 :(得分:0)

我相信你需要引用你在from语句中引用的别名。改变

UPDATE MyLinkedServer.DataBaseA.dbo.MyTable

UPDATE db2

解决您的问题?