文章詳情頁
Sql Server中通過sql命令獲取cpu占用及產生鎖的sql
瀏覽:35日期:2023-03-06 14:25:30
獲取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占用及產生鎖內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
標簽:
MsSQL
相關文章:
1. MySQL導入sql文件的三種方法小結2. MySQL數據庫表空間回收的解決3. 一些很有用的SQLite命令總結4. MySQL 字符串拆分操作(含分隔符的字符串截取)5. MySQL Threads_running飆升與慢查詢的相關問題解決6. MySQL中的 inner join 和 left join的區別解析(小結果集驅動大結果集)7. MySQL分支選擇參考:Percona還是MariaDB8. Navicat Premium操作MySQL數據庫(執行sql語句)9. sql查詢一個數組中是否包含某個內容find_in_set問題10. 如何訪問大型機、小型機上的DB2 9數據服務器
排行榜
