链接服务器访问接口返回了消息没有活动事务,数据库分布式事务报7391错,紧急求助各位高手...

if not exists(select * from sys.sysservers where srvname='server_lnk')

begin

exec sp_addlinkedserver   'server_lnk', '', 'SQLOLEDB', '192.168.1.15'

exec sp_addlinkedsrvlogin 'server_lnk', 'false ',null, 'sa', '123'

end

set xact_abort ON

BEGIN DISTRIBUTED TRANSACTION tans1   --开始分布式事务

INSERT INTO dbo.stuscore([name])VALUES('abc')

if(@@error<>0)

ROLLBACK TRANSACTION tans1

INSERT INTO server_lnk.Test.dbo.t1([name])

VALUES('12345678901234567890123456789012345678901234567890')

select @@error

IF(@@error<>0)

ROLLBACK TRANSACTION tans1

COMMIT TRANSACTION tans1

GO

--这个是没问题的,加上BEGIN DISTRIBUTED TRANSACTION就报错

select * from server_lnk.Test.dbo.t1

--错误信息

链接服务器"server_lnk"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务。"。

消息 7391,级别 16,状态 2,第 7 行

无法执行该操作,因为链接服务器 "server_lnk" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值