您的位置:首页 > 数据库

SQL Server 连接和事务相关的问题。

2014-09-27 16:39 232 查看
方法 1、 dbcc opentran + sys.dm_exec_connections

dbcc opentran;



dbcc opentran 针对当前数据库

dbcc opentran('Studio') 针对指定数据库

可以看到最旱的活动事务是 54 这个session 发起的。下面看一下它做了点什么。

select conn.session_id,sess.program_name,sqltext.text
from sys.dm_exec_connections as conn cross apply sys.dm_exec_sql_text(conn.most_recent_sql_handle) as sqltext,sys.dm_exec_sessions sess
where conn.session_id = sess.session_id and conn.session_id = 54;
go



这里可以看出 session 54 最后做的事是 ’select @@spid' 还记得最老的活动事务是 54打开的吗?可是这个事务并不是为 @@spid 打开的



总结:

dbcc opentran 只返回最老是活动事务、并不是session 最后的事务,sys.dm_exec_connections 只可以得到最后事务的sql代码引用。

若要找到最老的事务它在做什么,这个方法还是行不通。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: