SQLServer查看死锁


if exists (
select *
from sys.procedures
where name like '%USP_ShowLocks%'
)
drop procedure dbo.USP_ShowLocks
go create procedure dbo.USP_ShowLocks
as
begin
create table #t
(
req_spid int
,obj_name sysname
) declare @s nvarchar(4000)
,@rid int
,@dbname sysname
,@id int
,@objname sysname declare tb cursor
for
select distinct req_spid
,dbname = db_name(rsc_dbid)
,rsc_objid
from master..syslockinfo
where rsc_type in (4 ,5) open tb
fetch next from tb into @rid,@dbname,@id
while @@fetch_status = 0
begin
set @s = 'select @objname=name from [' + @dbname + ']..sysobjects where id=@id'
exec sp_executesql @s
,N'@objname sysname out,@id int'
,@objname out
,@id insert into #t
values
(
@rid
,@objname
)
fetch next from tb into @rid,@dbname,@id
end
close tb
deallocate tb select process_id = a.req_spid
,databaseName = db_name(rsc_dbid)
,typeName = case rsc_type
when 1 then 'NULL Resource(Not Use)'
when 2 then 'DataBase'
when 3 then 'File'
when 4 then 'Index'
when 5 then 'Table'
when 6 then 'Page'
when 7 then 'Key'
when 8 then 'Extend Disk '
when 9 then 'RID(Row ID)'
when 10 then 'Application Program'
end
,objectID = rsc_objid
,objectName = b.obj_name
,rsc_indid
from master..syslockinfo a
left join #t b on a.req_spid = b.req_spid
where db_name(rsc_dbid) = 'siteweaver' drop table #t --show all locks
SELECT request_session_id as spid,
ObjectName = case when resource_type='OBJECT' then OBJECT_NAME(resource_associated_entity_id) else cast(resource_associated_entity_id as varchar(200)) end
,*
FROM sys.dm_tran_locks
WHERE resource_type in('OBJECT')
--WHERE resource_type in('KEY','PAGE','OBJECT') /* SELECT request_session_id, resource_type, resource_associated_entity_id,
request_status, request_mode, resource_description
FROM sys.dm_tran_locks
where resource_type in('KEY','PAGE','OBJECT') */ end
go /*杀掉死锁的进程*/
--kill 75

SQLServer查看死锁的更多相关文章

  1. SqlServer 查看死锁的进程

    版权声明:本文为 走错路的程序员 原创文章,欢迎转载. https://blog.csdn.net/phker/article/details/78612974搞sqlsever 好多年, 从来没锁过 ...

  2. sqlserver查看死锁进程工具脚本p_lockinfo

    /* -- 处理死锁 -- 查看当前进程,或死锁进程,并能自动杀掉死进程 -- 因为是针对死的,所以如果有死锁进程,只能查看死锁进程 -- 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 ...

  3. sqlserver检测死锁;杀死锁和进程;查看锁信息

    http://blog.sina.com.cn/s/blog_9dcdd2020101nf4v.html sqlserver检测死锁;杀死锁和进程;查看锁信息 ( ::)转载▼ 标签: sql 检测死 ...

  4. SQLServer查看和解决死锁的方法

    http://luohonghong.blog.163.com/blog/static/78312058201142411533316/ SQLServer查看和解决死锁的方法 2011-05-24 ...

  5. 【转载】 Sqlserver查看数据库死锁的SQL语句

    在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查 ...

  6. SqlServer表死锁的解决方法

    SqlServer表死锁的解决方法   前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉.本文表锁住了的解决方法 ...

  7. 查询Sqlserver数据库死锁的一个存储过程(转)

        使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉.利用sp_who ...

  8. mysql查看死锁和解除锁

    解除正在死锁的状态有两种方法: 第一种: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程(如果您有SUPER权限,您可以看到所有线程.否则, ...

  9. SQL查看死锁+清理死锁

    ----查看sql死锁 CREATE procedure sp_who_lock    as      begin         declare @spid int         declare ...

随机推荐

  1. [UCSD白板题] Fractional Knapsack

    Problem Introduction Given a set of items and total capacity of a knapsack,find the maximal value of ...

  2. JS动态级联菜单

    JS动态级联菜单是前端常用的一个功能,特此抽时间研究了下,附上代码 <html> <head> <meta charset="utf-8" /> ...

  3. jQqery EasyUI dategrid行中多列数据的可编辑操作

    最近的项目中需要在前台dategrid列表中直接修改某些列的数据,并且修改后的数据需要不通过后台而自动更新在列表中. 带着这一问题开始寻找实现的思路,首先想到的就是去jQqery EasyUI官网找例 ...

  4. 攒机I7

    CPU : I7 4790K +Z97 = 3200 散热器 :九州风神玄冰400 = 99 硬盘 :希捷 1TB 64M = 310 机箱: 金河田超越白 = 200 内存 DDR3金士顿8G = ...

  5. 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决

    当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...

  6. css各项水平居中

    当被设置元素为块状元素时用text-align:center就不起作用了,这也分两种情况,定宽块状元素和不定宽块状元素. 一.定宽块状元素:快状元素的宽度width为固定值,之后我们可以将左右marg ...

  7. Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/7532512 更多请看专栏, ...

  8. C++容器之Vector

    vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vect ...

  9. Git 的origin和master分析

    首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样) 1.     从git取数据(git clone) 2.     改动代码 3.     将改动传回git(g ...

  10. crtmpserver系列(一):流媒体概述

    概述 所谓流媒体按照字面意思理解就是像流一样的媒体,看起来像是废话.流媒体现在司空见惯,所以一般人大概不会有疑问.事实上在流媒体还没有出现的时候,基本上通过网络播放电影就不太现实.通过网络播放电影的时 ...