--正在进行的SQLSELECT[Spid]= session_Id, ecid,[Database]= DB_NAME(sp.dbid),[User]= nt_username,[Status]= er.status,[Wait]= wait_type,[Individual Query]= SUBSTRING(qt.text, er.statement_start_offset /2,(CASEWHEN er.statement_end_offset =-1THENLEN(CONVERT(NVARCHAR(MAX), qt.text))*2ELSE er.statement_end_offset END- er.statement_start_offset)/2),[Parent Query]= qt.text,
Program = program_name, Hostname,
nt_domain, start_time
FROM sys.dm_exec_requests er INNERJOIN sys.sysprocesses sp ON er.session_id = sp.spid
CROSSAPPLY sys.dm_exec_sql_text(er.sql_handle)AS qt
WHERE session_Id >50/* Ignore system spids.*/AND session_Id NOTIN(@@SPID)-- and Hostname = '主机名称'and DB_NAME(sp.dbid)='数据库名称'-- and er.Status = 'running' ------结束进程--kill @spid --
2.查询语句执行情况
--查询语句执行情况SELECTTOP1000 t.hostname,
t.loginame,
percent_complete,[session_id],
der.[request_id],[start_time]AS'start_time',
der.[status]AS'status',[command]AS'command',
dest.[text]AS'sql',
DB_NAME([database_id])AS'database',[blocking_session_id]AS'blocking_session_id',[wait_type]AS'wait_type',[wait_time]AS'wait_time',[wait_resource]AS'wait_resource',[reads]AS'reads',[writes]AS'writes',[logical_reads]AS'logical_reads',[row_count]AS'row_count'FROM sys.[dm_exec_requests]AS der
CROSSAPPLY sys.[dm_exec_sql_text](der.[sql_handle])AS dest
leftJOIN sys.sysprocesses t ON t.spid=der.session_id
WHERE[session_id]>50AND DB_NAME(der.[database_id])='数据库名'ORDERBY[cpu_time]DESC
3.查阻塞语句
--查阻塞语句selecttext,*from sys.dm_exec_requests er
crossapply sys.dm_exec_sql_text(er.sql_handle)
4.查阻塞语句
--查阻塞与锁SELECT t1.resource_type AS[锁类型], DB_NAME(resource_database_id)AS[数据库名],
t1.resource_associated_entity_id AS[阻塞资源对象],t1.resource_description as[资源描述信息], t1.request_mode AS[请求的锁],
t1.request_session_id AS[等待会话], t2.wait_duration_ms AS[等待时间],(SELECT[text]FROM sys.dm_exec_requests AS r WITH(NOLOCK)CROSSAPPLY sys.dm_exec_sql_text(r.[sql_handle])WHERE r.session_id = t1.request_session_id
)AS[等待会话执行的批SQL],(SELECT SUBSTRING(qt.[text],r.statement_start_offset/2,(CASEWHEN r.statement_end_offset =-1THENLEN(CONVERT(nvarchar(max), qt.[text]))*2ELSE r.statement_end_offset END)/2)FROM sys.dm_exec_requests AS r WITH(NOLOCK)CROSSAPPLY sys.dm_exec_sql_text(r.[sql_handle])AS qt
WHERE r.session_id = t1.request_session_id
)AS[等待会话执行的SQL],
t2.blocking_session_id AS[阻塞会话],(SELECT[text]FROM sys.sysprocesses AS p
CROSSAPPLY sys.dm_exec_sql_text(p.[sql_handle])WHERE p.spid = t2.blocking_session_id
)AS[阻塞会话执行的批SQL]FROM sys.dm_tran_locks AS t1 WITH(NOLOCK)INNERJOIN sys.dm_os_waiting_tasks AS t2 WITH(NOLOCK)ON t1.lock_owner_address = t2.resource_address OPTION(RECOMPILE);