檢視死鎖
select
t1.resource_type [資源鎖定型別]
, db_name(resource_database_id)
as 資料庫名,
t1.resource_associated_entity_id 鎖定物件,
t1.request_mode as 等待者請求的鎖定模式,
t1.request_session_id 等待者sid,
t2.wait_duration_ms 等待時間,
(select
text
from
sys.dm_exec_requests r cross
where
r.session_id = t1.request_session_id
)as 等待者要執行的sql
, t2.blocking_session_id [鎖定者sid],(
select
text
from
sys.sysprocesses p cross
where
p.spid = t2.blocking_session_id
) 鎖定者執行語句
from
sys.dm_tran_locks t1,
sys.dm_os_waiting_tasks t2
where
t1.lock_owner_address = t2.resource_address
檢視正在阻塞sql
select
top10
[session_id]
,[request_id]
,[start_time]
as'開始時間',[
status]as
'狀態'
,[command]
as'命令'
, dest.
[text]as
'sql語句'
, db_name(
[database_id])as
'資料庫名'
,[blocking_session_id]
as'正在阻塞其他會話的會話id'
,[wait_type]
as'等待資源型別'
,[wait_time]
as'等待時間'
,[wait_resource]
as'等待的資源',[
reads]as
'物理讀次數'
,[writes]
as'寫次數'
,[logical_reads]
as'邏輯讀次數'
,[row_count]
as'返回結果行數'
from sys.
[dm_exec_requests]
as der cross
[dm_exec_sql_text]
(der.
[sql_handle]
)as dest
where
[session_id]
>
50and db_name(der.
[database_id])=
'seedlandcontractdb'
order
by[cpu_time]
desc
SQL Server 檢視死鎖
use master goselect top 100 session id request id start time as 開始時間 status as 狀態 command as 命令 dest.text as sql語句 db name database id as 資料庫名 blockin...
SqlServer 檢視死鎖的程序
這個工具,用來檢視一些當時的執行狀態.和乾掉程序.但是這個工具只能檢視部分哪個表被鎖住了.也無法知道是哪個程序和sql導致了鎖程序.只能檢視一些其它的資訊.至於如何檢視死鎖的表,需要用到下面的sql.然後根據查出來的 程序id 去上面的工具中 檢視詳細資訊.可以檢視到引起死鎖的sql 檢視被鎖表 s...
SqlServer 檢視死鎖的程序
這個工具,用來檢視一些當時的執行狀態.和乾掉程序.但是這個工具只能檢視部分哪個表被鎖住了.也無法知道是哪個程序和sql導致了鎖程序.只能檢視一些其它的資訊.至於如何檢視死鎖的表,需要用到下面的sql.然後根據查出來的 程序id 去上面的工具中 檢視詳細資訊.可以檢視到引起死鎖的sql 檢視被鎖表 s...