Sql Server 表被锁?查看 高CPU sql ?

互联网 2022/1/15 2:05:47

Sql Server 表被锁?查看 高CPU sql ?-- 1. 查看 被锁的表,和锁表进程idselect request_session_id 锁表进程, OBJECT_NAME(resource_associated_entity_id) 被锁表名 from sys.dm_tran_locks where resource_type = OBJECT-- 2. 查看 cpu 占用高 的sql 语句SELECT TOP…

 

Sql Server 表被锁?查看 高CPU sql ?

-- 1. 查看 被锁的表,和锁表进程id

select request_session_id 锁表进程, OBJECT_NAME(resource_associated_entity_id) 被锁表名  
from sys.dm_tran_locks where resource_type = 'OBJECT'



-- 2. 查看 cpu 占用高 的sql 语句
 SELECT TOP 100
   total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
   execution_count,
   (SELECT SUBSTRING(text, statement_start_offset/2 + 1,
      (CASE WHEN statement_end_offset = -1
         THEN LEN(CONVERT(nvarchar(max), text)) * 2
         ELSE statement_end_offset
      END - statement_start_offset)/2)
   FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
where last_execution_time > '2022-01-11 02:00:39.397'
ORDER BY [avg_cpu_cost] DESC

-- 3. 解锁(干掉解锁进程)
declare @spid  int
Set @spid  = 66 -- 锁表进程
declare @sql varchar(1000)
set @sql = 'kill ' + cast(@spid as varchar)
exec(@sql)

  

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[Sql Server 表被锁?查看 高CPU sql ?]http://www.zyiz.net/tech/detail-285324.html

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程