Sql解锁 数据库死锁检测
USE [DataBaseName]
GO
/****** Object: StoredProcedure [dbo].[sp_check_deadlock] Script Date: 07/04/2014 13:49:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
set nocount on
select
spid As 被锁进程ID,
blocked As 锁进程ID,
status As 被锁状态,
SUBSTRING(SUSER_SNAME(sid),1,30) 被锁进程登陆帐号,
SUBSTRING(hostname,1,12) As 被锁进程用户机器名称,
SUBSTRING(DB_NAME(dbid),1,10) As 被锁进程数据名称,
cmd 被锁进程命令,
waittype 被锁进程等待类型
FROM master..sysprocesses
WHERE blocked>0
--dbcc inputbuffer(66) 输出相关锁进程的语句
*/
--创建锁进程临时表
CREATE TABLE #templocktracestatus (
EventType varchar(max),
Parameters INT,
EventInfo varchar(max)
)
--创建被锁进程临时表
CREATE TABLE #tempbelocktracestatus (
EventType varchar(max),
Parameters INT,
EventInfo varchar(max)
)
CREATE TABLE #locktracestatus (
belockspid INT,
belockspidremark varchar(max),
belockEventType varchar(max),
belockEventInfo varchar(max),
lockspid INT,
lockspidremark varchar(max),
lockEventType varchar(max),
lockEventInfo varchar(max)
)
--获取死锁进程
DECLARE dbcc_inputbuffer CURSOR READ_ONLY
FOR select spid 被锁进程ID,blocked 锁进程ID FROM master..sysprocesses WHERE blocked>0
DECLARE @lockedspid int
DECLARE @belockedspid int
OPEN dbcc_inputbuffer
FETCH NEXT FROM dbcc_inputbuffer INTO @belockedspid,@lockedspid WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
--print '被堵塞进程'
--select @belockedspid
--dbcc inputbuffer(@belockedspid)
--print '堵塞进程'
--select @lockedspid
--dbcc inputbuffer(@lockedspid)
INSERT INTO #tempbelocktracestatus
EXEC('DBCC INPUTBUFFER('+@belockedspid+')')
INSERT INTO #templocktracestatus
EXEC('DBCC INPUTBUFFER('+@lockedspid+')')
INSERT INTO #locktracestatus
select @belockedspid,'被锁进程',a.EventType,a.EventInfo,@lockedspid,'锁进程',b.EventType,b.EventInfo
from #tempbelocktracestatus a,#templocktracestatus b
END
FETCH NEXT FROM dbcc_inputbuffer INTO @belockedspid,@lockedspid
END
CLOSE dbcc_inputbuffer
DEALLOCATE dbcc_inputbuffer
select * from #locktracestatus
return (0) -- sp_check_deadlock
-- sp_who
Sql解锁 数据库死锁检测的更多相关文章
- 解决SQL server2005数据库死锁的经验心得
前段时间提到的"sql server 2005 死锁解决探索",死锁严重,平均每天会发生一次死锁,在解决和处理SQL server2005死锁中查了很多资料和想了很多办法,后来我们 ...
- 快速定位MS Sql Server 数据库死锁进程
最近在做一个大型项目,由于数据设计采用离散型数据库设计,以方便需求变更及用户自定义流程要素,因为要素用户自定义,数据完整性靠代码约束变得不太现实,只能依靠表间关系来约束,结果因此导致数据的操作经常产生 ...
- [Bug] 解决 Sql Server 数据库死锁问题
SELECT request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tra ...
- SQL Server 数据库中关于死锁的分析
SQL Server数据库发生死锁时不会像Oracle那样自动生成一个跟踪文件.有时可以在[管理]->[当前活动] 里看到阻塞信息(有时SQL Server企业管理器会因为锁太多而没有响应). ...
- 转载 50种方法优化SQL Server数据库查询
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...
- SqlServer定时备份数据库和定时杀死数据库死锁解决
上周五组长对我说了一句要杀死数据库的死锁进程,有时候同一时刻不停写入数据库会造成这种情况的发生,因为自己对数据库不是很熟悉,突然组长说了我也就决定一定要倒腾一下,不然自己怎么提高呢?现在不研究,说不定 ...
- MS Sql Server 数据库或表修复(DBCC CHECKDB)
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL ...
- 面试官:请用SQL模拟一个死锁
文章首发于公众号:BiggerBoy 有读者说面试被问到怎么用SQL模拟数据库死锁? 这位读者表示对Java中的死锁还是略知一二的,但是突然用SQL写死锁的案例之前还真没遇到过,这个问题没答上来.所以 ...
- 当前数据库普遍使用wait-for graph等待图来进行死锁检测
当前数据库普遍使用wait-for graph等待图来进行死锁检测 较超时机制,这是一种更主动的死锁检测方式,innodb引擎也采用wait-for graph SQL Server也使用wait-f ...
随机推荐
- qt容器在并发时需要注意的地方
最近用tbb和qt写了一个延时摄影后期控制镜头的工具,主要就是扫描目录下所有图片,按照给定参数截取图片中某区域并另存,模拟镜头摆动. 扫描后的图片路径保存在qlist内,作为只读数据,交由tbb的pa ...
- MS SQL Server 如何得到执行最耗时的前N条T-SQL语句-
--得到最耗时的前N条T-SQL语句 --适用于SQL SERVER 2005及其以上版本 --给N赋初值为30 ;with maco as ( select top (@n) plan_handle ...
- jQuery选择器上下文
- Custom ASP.NET Application into SharePoint --整合ASP.NET应用程序到SharePoint
转:http://www.devexpertise.com/2009/02/18/integrating-a-custom-aspnet-application-into-sharepoint-par ...
- JSP九大内置对象详解
内置对象特点: 1. 由JSP规范提供,不用编写者实例化. 2. 通过Web容器实现和管理 3. 所有JSP页面均可使用 4. ...
- 破解安装 SecureCRT 7.0.2 for mac完美破解版,mac secureCRT , apple secureCRT
mac secureCRT , apple secureCRT 下载地址:http://download.csdn.net/detail/guolichun/7733069 破解安装 SecureC ...
- logstash快速入门 (这篇文章很不错 ) | 两种方式往logstash传输数据实例:Apache 日志(从文件获取)、Syslog方式
原文地址:http://www.2cto.com/os/201411/352015.html 原文地址:http://logstash.net/docs/1.4.2/tutorials/getting ...
- Bzoj 1726: [Usaco2006 Nov]Roadblocks第二短路 dijkstra,堆,A*,次短路
1726: [Usaco2006 Nov]Roadblocks第二短路 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 969 Solved: 468[S ...
- sqlmap win32下命令集合
http://testphp.vulnweb.com/artists.php?artist=1 #库 注意:--前面有一个空格 C:\Python27\sqlmap>sqlmap.py - ...
- Ruby on Rails Session 2: How to install Aptana Studio 3 on Ubuntu 12.04 LTS
Update: An updated version of these instructions for Ubuntu 12.10 (Quantal Quetzal) is available her ...