这篇文章主要介绍了SqlServer中通过sql命令获取cpu占用及产生锁的sql,需要的朋友可以参考下
获取SQLSERVER中产生锁的SQL语句
SELECT
SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,((CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) + 1) as statement_text
FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st where qs.sql_handle in (select distinct sql_handle from sys.dm_exec_requests where session_id in (SELECT request_session_id as Spid
FROM sys.dm_tran_locks l
LEFT JOIN sys.partitions p
ON l.resource_associated_entity_id = p.hobt_id
LEFT JOIN sys.indexes i
ON p.object_id = i.object_id
AND p.index_id = i.index_id
LEFT JOIN sys.objects o
ON p.object_id = o.object_id
LEFT JOIN sys.schemas s
ON o.schema_id = s.schema_id
LEFT JOIN sys.objects o2
ON l.resource_associated_entity_id = o2.object_id
LEFT JOIN sys.schemas s2
ON o2.schema_id = s2.schema_id
LEFT JOIN sys.databases db
ON l.resource_database_id = db.database_id
WHERE resource_database_id = DB_ID() and request_mode in ('X')
))
查询 某个时间点的,所有执行中的sql语句的CPU占用时间(倒排序)
use master;SELECT [session_id], [cpu_time], [start_time], dest.[text] AS 'sql', DB_NAME([database_id]) AS 'dbname', [row_count] FROM sys.[dm_exec_requests] AS der CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest WHERE [session_id]>50 ORDER BY [cpu_time] DESC
查询 不同sql语句产生阻塞的情况(主要是由于锁产生的等待)
use master;SELECT top 50 dest.[text] AS 'sql', wtt.blocking_session_id, wtt.wait_duration_ms, wtt.session_id FROM sys.dm_os_waiting_tasks wtt LEFT JOIN sys.dm_exec_requests req ON wtt.blocking_session_id = req.session_id CROSS APPLY sys.[dm_exec_sql_text](req.[sql_handle]) AS dest where wtt.blocking_session_id is not null and wtt.wait_duration_ms>2000 order by wait_duration_ms desc
到此这篇关于Sql Server中通过sql命令获取cpu占用及产生锁的sql的文章就介绍到这了,更多相关cpu占用及产生锁内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:Sql Server中通过sql命令获取cpu占用及产生锁的sql
基础教程推荐
猜你喜欢
- Sql Server Management Studio连接Mysql的实现步骤 2023-07-29
- 关于MySQL中explain工具的使用 2023-07-27
- Mysql查询所有表和字段信息的方法 2023-07-26
- Python常见库matplotlib学习笔记之多个子图绘图 2023-07-27
- Mysql主从三种复制模式(异步复制,半同步复制,组复 2022-09-01
- 【Redis】数据持久化 2023-09-12
- SQLServer 清理日志的实现 2023-07-29
- python中pandas库的iloc函数用法解析 2023-07-28
- Redis如何实现延迟队列 2023-07-13
- 如何将excel表格数据导入postgresql数据库 2023-07-20