我有以下存储过程的定义:
CREATE procedure dbo.ImportData
(
@SessionId VARCHAR(20)
,@ImportId int
)
as
begin
PRINT 'TRANCOUNT value = ' + CAST(@@TRANCOUNT AS VARCHAR)
begin try
--business log
begin try
BEGIN CATCH
--business log
END CATCH
END
每当我运行我的SP时,我的@@ Trancount值为1但是我没有使用BEGIN TRAN语句开始任何事务。
请建议sql server在SP定义的BEGIN语句之后创建转换的这种行为。
此外,当我尝试通过创建另一个没有参数且只有一个SELECT语句的SP来复制相同的行为,但我将Transition值设置为0。
请提出这个概念。
答案 0 :(得分:0)
您已经开通了交易(可能是意外)。 尝试断开与sql-server或commit(rollbcack)现有事务的连接。