zoukankan      html  css  js  c++  java
  • SQL中如何检查死锁

    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

     

  • 相关阅读:
    数组和类集排序总结
    toString()方法
    冒泡排序java
    Scanner类输入字符串和整形数字
    身份证分组
    jsonp的实质
    在伪数组上部署iterator方法
    获取属性的方法
    合并以及对于引用克隆
    深度复制对象已解决循环引用
  • 原文地址:https://www.cnblogs.com/bribe/p/3791719.html
Copyright © 2011-2022 走看看