--查看死結情況
SELECTDISTINCT
'進程ID'=STR(a.spid, 4)
, '進程ID狀態'=CONVERT(CHAR(10), a.status)
, '死結進程ID'=STR(a.blocked, 2)
, '工作站名稱'=CONVERT(CHAR(10), a.hostname)
, '執行命令的使用者'=CONVERT(CHAR(10), SUSER_NAME(a.uid))
, '資料庫名'=CONVERT(CHAR(10), DB_NAME(a.dbid))
, '應用程式名稱'=CONVERT(CHAR(10), a.program_name)
, '正在執行的命令'=CONVERT(CHAR(16), a.cmd)
, '登入名稱'= a.loginame
, '執行語句'= b.text
FROM master..sysprocesses a CROSS APPLY
sys.dm_exec_sql_text(a.sql_handle) b
WHERE a.blocked IN ( SELECT blocked
FROM master..sysprocesses )
-- and blocked <> 0
ORDERBYSTR(spid, 4)
--查串連住資訊(spid:57、58)
select connect_time,last_read,last_write,most_recent_sql_handle
from sys.dm_exec_connections where session_id in(57,58)
--查看會話資訊
select login_time,host_name,program_name,login_name,last_request_start_time,last_request_end_time
from sys.dm_exec_sessions where session_id in(57,58)
--查看阻塞正在執行的請求
select
session_id,blocking_session_id,wait_type,wait_time,wait_resource
from
sys.dm_exec_requests
where
blocking_session_id>0--正在阻塞請求的會話的 ID。如果此列是 NULL,則不會阻塞請求
/*
session_id,blocking_session_id,wait_type,wait_time,wait_resource
58 57 LCK_M_S 2116437 KEY: 6:72057594039435264 (020068e8b274)
*/
--查看正在執行的SQL語句
select
a.session_id,sql.text,a.most_recent_sql_handle
from
sys.dm_exec_connections a
cross apply
sys.dm_exec_sql_text(a.most_recent_sql_handle) as SQL --也可用函數fn_get_sql通過most_recent_sql_handle得到執行語句
where
a.Session_id in(57,58)
--查詢鎖類型
select 進程id=a.req_spid
,資料庫=db_name(rsc_dbid)
,類型=case rsc_type when1then'NULL 資源(未使用)'
when2then'資料庫'
when3then'檔案'
when4then'索引'
when5then'表'
when6then'頁'
when7then'鍵'
when8then'擴充盤區'
when9then'RID(行 ID)'
when10then'應用程式'
end
,對象id=rsc_objid
,對象名=b.obj_name
,rsc_indid
from master..syslockinfo a leftjoin #t b on a.req_spid=b.req_spid
----查看SA使用者執行的SQL
SELECT '進程ID[SPID]'=STR(a.spid, 4)
, '進程狀態'=CONVERT(CHAR(10), a.status)
, '分塊進程ID'=STR(a.blocked, 2)
, '伺服器名稱'=CONVERT(CHAR(10), a.hostname)
, '執行使用者'=CONVERT(CHAR(10), SUSER_NAME(a.uid))
, '資料庫名'=CONVERT(CHAR(10), DB_NAME(a.dbid))
, '應用程式名稱'=CONVERT(CHAR(10), a.program_name)
, '正在執行的命令'=CONVERT(CHAR(16), a.cmd)
, '累計CPU時間'=STR(a.cpu, 7)
, 'IO'=STR(a.physical_io, 7)
, '登入名稱'= a.loginame
, '執行sql'= b.text
FROM master..sysprocesses a CROSS APPLY
sys.dm_exec_sql_text(a.sql_handle) b
WHERE blocked <>0OR a.loginame='sa'
ORDERBY spid
主要動態管理檢視:
sys.sysprocesses(相容sql2k)
sys.dm_exec_connections
sys.dm_exec_sessions
sys.dm_exec_requests
來源:http://www.cnblogs.com/ilovexiao/archive/2010/05/21/1740645.html