我跑下面的查询上一个会话
begin tran
update orderstst
set unitprice=unitprice+1
waitfor delay '00:00:20'
及以下DMV运行查询是在其他会话中运行,而..
select resource_database_id,request_mode,request_type,request_status,txt.text
from sys.dm_tran_locks lck
join
sys.dm_exec_requests ec
on ec.session_id=lck.request_session_id
cross apply
sys.dm_exec_Sql_text(ec.sql_handle) txt
我得到了以下数据...
当事务仍然没有提交,但完成,我跑了以上dmv again.but没有得到任何output.since目前没有执行。
但低于DMV运行,仍然会给我锁保持,您将能够识别哪个会话locks..so所有会话的信息持有更多的锁
select resource_database_id,request_mode,request_type,request_status
from sys.dm_tran_locks lck
join
sys.dm_exec_sessions ec
on ec.session_id=lck.request_session_id
上述查询给我下面的信息..
因此,在总结,你必须运行DMV1或DMV2通过SQL代理工作一段时间,并插入一些表后..江苏实际
进一步从SQL 2012,您还可以使用扩展事件..
转到管理 - >扩展事件,右键单击并说,启动新会话向导。
给它一个名称,并在服务器启动时
下一个屏幕为您提供了一个选项,选择默认模板或不检查开始,我选择如下图所示,点击旁边的锁默认模板..
在下一屏幕,你可以选择不同的事件,在通道中,选择所有通道,并做相同的范畴也和选择INTERES事件t,我选择下面..
在这个画面中,您可以选择的操作,我选择文本,会话ID
在下一屏幕,过滤器就像说,例如..gather活动仅适用于像数据库名称'somename' 或查询像一些文字..
下一页屏幕中,您可以存盘供以后分析..
屏幕的完整的休息,最后选择开始事件会话立即选项..
当你与收集的数据进行,去扩展事件和阻止你created.Right单击会话,并说视图目标data..which显示了以下screenn
扩展事件应该有caug它。你可以用会话定义更新你的文章吗? –