SQL中如何检查死锁
2015-01-24 23:07
197 查看
SQL中如何检查死锁
编写人:CC阿爸
2014-6-15
在日常SQL数据库的操作中,SQL偶尔会出现表被死锁的问题。比如:
在执行事务时,突然中止事务。系统肯定会锁表。
大批量数据操作时,由于网络 机器性能等相关因素,都会偶尔引起死锁。
这也是SQL没有oracle强大的功能之一。
select 标志='死锁的进程',
spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
status,hostname,program_name,hostprocess,nt_domain,net_address,
s1=a.spid,s2=0
from master..sysprocesses a join (
select blocked from master..sysprocesses group by blocked
)b on a.spid=b.blocked where a.blocked=0
dbcc inputbuffer
--查看有无锁表
use master
select * from sysprocesses where blocked<>0
--查看锁表的信息
sp_who 51
DBCC INPUTBUFFER (79)
EXEC sp_lock 51
--删除被锁的进程
kill 57
编写人:CC阿爸
2014-6-15
在日常SQL数据库的操作中,SQL偶尔会出现表被死锁的问题。比如:
在执行事务时,突然中止事务。系统肯定会锁表。
大批量数据操作时,由于网络 机器性能等相关因素,都会偶尔引起死锁。
这也是SQL没有oracle强大的功能之一。
select 标志='死锁的进程',
spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
status,hostname,program_name,hostprocess,nt_domain,net_address,
s1=a.spid,s2=0
from master..sysprocesses a join (
select blocked from master..sysprocesses group by blocked
)b on a.spid=b.blocked where a.blocked=0
dbcc inputbuffer
--查看有无锁表
use master
select * from sysprocesses where blocked<>0
--查看锁表的信息
sp_who 51
DBCC INPUTBUFFER (79)
EXEC sp_lock 51
--删除被锁的进程
kill 57
相关文章推荐
- 多线程WIN32程序如何检查死锁(三)-使用Petri网络来表示多线程应用程序
- [SQL]启动SQLServer的死锁检查
- 如何排查SQL死锁的错误?
- sql server中如何避免死锁
- SQL2005 : 如何在SQL Server Profiler (事件查看器)中 跟踪查看死锁恢复
- 多线程WIN32程序如何检查死锁(一)——死锁概述
- 教您如何检查oracle死锁,决解死锁
- 如何查看SQL Profiler? 如何查看SQL死锁?
- 如何排查SQL死锁的错误?
- [SQL] 如何在SQL Server2005数据库中检查一个表是否存在,如存在就删除表记录,如不存在就建表.
- [SQL]启动SQLServer的死锁检查
- Oracle检查死锁的sql(转)
- [SQL]启动SQLServer的死锁检查
- 如何检查SQL Server I/O瓶颈
- 如何使用SQLDiag工具来追踪死锁错误 -ZT
- SQL SERVER中如何解除死锁?
- [SQL]启动SQLServer的死锁检查
- [SQL]启动SQLServer的死锁检查
- SQL检查死锁情况
- sqlserver检查死锁的sql