下面的脚本返回一个选择记录:
EXEC [LINK_SERV].[DB_SAMPLE].[dbo].[SP_SAMPLE] '1235123'
我想将返回记录插入到临时表中,所以我在下面编写了脚本(假设已经创建了临时表):
INSERT INTO #TempTable
EXEC [LINK_SERV].[DB_SAMPLE].[dbo].[SP_SAMPLE] '1235123'
但是我得到这个错误:
链接服务器“ LINK_SERV”的OLE DB提供程序“ SQLNCLI11”返回消息“合作伙伴事务管理器已禁用对远程/网络事务的支持。
MSG 7391,第16级,状态2,第25行
由于链接服务器“ LINK_SERV”的OLE DB提供程序“ SQLNCLI11”无法开始分布式事务,因此无法执行该操作。
请告知具体配置以启用此功能。我在其他服务器上尝试了相同的代码,并且可以正常工作。预先谢谢你。
答案 0 :(得分:0)
这就是OPENQUERY()的美所在。
即像这样的东西...
INSERT INTO dbo.MyTable2
SELECT Col1, Col2, etc
FROM dbo.MyTable1
LEFT JOIN OPENQUERY(<<LINKEDSERVER>>,
'SELECT BLAHBLAH
FROM dbo.BLAHBLAH WHERE <something> = <something>);