我跑下面的查詢上一個會話
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它。你可以用會話定義更新你的文章嗎? –