当我在数据库上执行 sp_who2
时,我看到 SPID
的进程是 RUNNABLE
及其 CPUTime
> 等于 2147483647。
DBCC INPUTBUFFER(SPID
) 向我返回最后一个查询是
'IF @@TRANCOUNT > 0 COMMIT TRAN'.
我正在使用 jDTS 驱动程序连接到 Microsoft SQL Server 2008 R2。
为什么CPUTime
这么高?这是否意味着某些交易未关闭或其他原因?
最佳答案
这是有符号 int32 的最大值,似乎是 Microsoft 选择代表未知/尚未确定的 CPU 时间值的默认值。多年来我一直将这些从 sys.sysprocesses 的性能相关查询中排除。
尝试使用 sys.dm_exec_requests 代替。它似乎可以为您处理这些值,因为我在使用它时从未见过这种情况发生。
关于sql - if @@trancount > 0 提交 tran 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663829/