数据库
sqlserver出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)... -凯发ag旗舰厅登录网址下载
本人经过百度查找并且自己进行测试得到问题原因:
msdn上看了一下说是sql server 不支持在分布式事务处理中存在指向本地的链接服务器(环回链接服务器) 通过上面简单说明大家有可能没完全理解环回链接服务器的意思。下面直接来几段代码相信大家就明白了
1.打开本机sql server management studio工具,连接一个数据库服务器
这里使用本机数据库服务器。
2.在本机数据库服务器上建一个链接服务器连接的地址就是本机服务器,名称为 ls_test。
3.假设本地数据库服务器下有
数据库a
数据库b
数据库b中有dbo.test表
4.在数据库a中创建如下存储过程
create procedure [dbo].[prps_testa] as set xact_abort onbegin tranexec ls_test.b.dbo.prtestb commit tran5.在数据库b下创建如下存储过程
create procedure [dbo].[prtestb] @ov_returnmss varchar(128) output as begin select * from ls_test.b.dbo.test end6.在数据库a下执行存储过程dbo.prtesta
exec dbo.prtesta
就会出现如下错误:
其他会话正在使用事务的上下文。
相信大家已经明白什么叫做环回链接服务器,当我们把数据库b中的存储过程dbo.prtestb的链接服务器访问改成跨库访问,如:
select * from b.dbo.test问题就解决。
所以各位以后在使用事务时一定要注意避免这个问题的发生,希望对各位有所帮助!
原文链接
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的sqlserver出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)...的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇: 模拟spring如何在web中运行
- 下一篇: