SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)...
生活随笔
收集整理的這篇文章主要介紹了
SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本人經過百度查找并且自己進行測試得到問題原因:
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問題就解決。
所以各位以后在使用事務時一定要注意避免這個問題的發生,希望對各位有所幫助!
?
原文鏈接
?
總結
以上是生活随笔為你收集整理的SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模拟Spring如何在WEB中运行
- 下一篇: java Memcache使用详解