MSDN上看了一下说是sql server 2005不支持在分布式事务处理中存在指向本地的链接服务器(环回链接服务器)
这个是官方的回答
个人认为,应该是在事务中,使用了链接服务器访问进行跨库访问引起的
比如说 有个名叫 “TGTreasureDBServer” 链接服务器访问,指向 数据库A , 然后,在数据库B 中 建立存储过程
数据库B:
CREATE PROCEDURE proc_b
begin
BEGIN TRANSACTION
select * TGTreasureDBServer.dbo.表名
COMMIT TRANSACTION
end
程序中调用 存储过程proc_b 时,就会提示 “其他会话正在使用事务的上下文”
解决办法:
将 select * TGTreasureDBServer.dbo.表名
改为
select * dbo.表名