1
我在我的主机服务器上设置了链接服务器:“MyLinkedServer” 我的服务器“HostServer”上有一个SP。跨链接服务器的SQL更新
我正在调用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
你可以发布一些示例代码?也是这个SQL Server,如果是的话是什么版本? – JNK 2010-11-03 13:40:56
您是否在使用任何分布式事务? – 2010-11-03 13:41:14
没有分布式事务,它们因为没有设置在链接服务器上处理它们而倒闭了 – Ben 2010-11-03 13:53:14