• 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

     

  • 相关阅读:
    DS博客作业04--图
    DS博客作业03--树
    DS博客作业02--栈和队列
    DS博客作业01--线性表
    c博客06-2019-结构体&文件
    C博客作业05--2019-指针
    图书馆查书、借书、还书
    DS博客作业05--查找
    DS博客作业04--图
    DS博客作业03--树
  • 原文地址:https://www.cnblogs.com/bribe/p/3791719.html
Copyright © 2020-2023  润新知