如何在链接服务器中保存执行命令的结果



我需要在使用链接服务器的不同服务器中执行相同的命令。

INSERT #Result
EXEC ('command') AT @linked_server

由于Insert语句打开隐式事务,而我无法启用DTC(分布式事务控制(,因此将发生以下错误:

由于OLE DB访问接口,无法执行该操作"MSOLEDBSQL";对于链接服务器";RM-BIEDW";无法开始分布式事务。

除了启用DTC之外,还有其他解决方案吗?

开启"远程进程事务提升",例如

EXEC master.dbo.sp_serveroption @server=N'linked_server', @optname=N'remote proc transaction promotion', @optvalue=N'false'

或者使用OPENQUERY

insert #result 
select * from openquery(linked_server, 'command') 

最新更新