sql-server - 从链接服务器插入存储过程的结果

标签 sql-server sql-server-2008 linked-server

是否可以将远程存储过程的结果插入到临时表中?例如

CREATE TABLE #test(id INT)
INSERT INTO #test 
EXEC [linkedserver].remoteDB.dbo.tst
DROP TABLE #test

其中 tst 是返回 ID 的存储过程。

如果我单独运行 exec,它工作正常

EXEC [linkedserver].remoteDB.dbo.tst

但是,当我将其作为插入的一部分时,我收到此错误

链接服务器“linkedserver”的 OLE DB 提供程序“SQLNCLI”返回消息“合作伙伴事务管理器已禁用其对远程/网络事务的支持。”。 消息 7391,16 级,状态 2,第 2 行 无法执行该操作,因为链接服务器“linkedserver”的 OLE DB 提供程序“SQLNCLI”无法开始分布式事务。

一台机器运行 SQL Server 2005,另一台机器运行 SQL Server 2008,两者都运行“分布式事务协调器”服务。

最佳答案

在我看来,对远程事务的支持尚未正确启用。

您是否尝试按照此处的说明进行操作:

关于sql-server - 从链接服务器插入存储过程的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874697/

相关文章:

sql-server - RabbitMQ、ZeroMQ、Service Broker 或类似的解决方案是否适合创建高可用性数据库 Web 服务?

sql-server - 如何通过 tiny_tds 将文件插入到 sql-server?

sql - 在多个 SQL 查询中测试性能

SQL 服务器 2012 : Add a linked server to PostgreSQL

sql-server - 将字符串参数从 SQL Server 传递到链接的 Oracle Server 过程

php - 当 PHP 是您的主要语言时,在 SQL Server 数据库中存储日期/时间的首选格式是什么?

sql - 带主键 ID 的批量插入

sql-server - 如果 SQL Server 作业步骤在执行过程中被修改,会发生什么情况

sql - 具有 TOP 10 的查询如何比没有 TOP 10 的相同查询花费无限长的时间来完成?

sql-server - 如何在两个服务器之间共享全局变量