加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用什么工具查看sybase数据的死锁,并可杀掉某个死锁

(2011-03-02 16:04:08)
标签:

it

分类: 电脑
用什么工具查看sybase数据的死锁,并可杀掉某个死锁使用sp_who和sp_lock然后kill,例如:  
1>   sp_who  
2>   go  
  spid       status               loginame           hostname       blk       dbname           cmd  
  ------   ------------   ------------   ----------   -----   ----------   ----------------  
            1   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
            2   sleeping           NULL                                         0           master           NETWORK   HANDLER  
            3   sleeping           NULL                                         0           master           DEADLOCK   TUNE  
            4   sleeping           NULL                                         0           master           MIRROR   HANDLER  
            5   sleeping           NULL                                         0           master           HOUSEKEEPER  
            6   sleeping           NULL                                         0           master           CHECKPOINT   SLEEP  
            7   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
            8   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
            9   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
          10   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
          11   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
          12   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
          13   recv   sleep       credits                                   0           credits         AWAITING   COMMAND  
          14   running             credits             bocwta           0           credits         SELECT  
 
(14   rows   affected,   return   status   =   0)  
1>   sp_lock  
2>   go  
The   class   column   will   display   the   cursor   name   for   locks   associated   with   a   cursor  
for   the   current   user   and   the   cursor   id   for   other   users.  
  spid       locktype                                           table_id         page                 dbname  
                  class  
  ------   ----------------------------   -----------   -----------   ---------------  
                ------------------------------  
          14   Sh_intent                                             464004684                       0   master  
                  Non   Cursor   Lock  
 
(1   row   affected,   return   status   =   0)  
1>   kill   14  
2>   go 

如果锁住了,你通过sp_who查看即可,发现blk值不为0的说明可能正被锁着了!你查看它前面的spid的值勤,例如是第14个进程有死锁,kill   14即可解决

sybase 死锁的查找思路
1、连接
>isql -Usa -P -SSHONETOWNSYBASE  (注意:除了-S后面的是数据库服务名,其他参数是区分大小写的)
>use privatebank
>go
结合使用sp_who,sp_lock命令,根据table_id可查询是哪个表被锁。
如:
select * from dbo.sysobjects
where name in (65432276,1186816259,1780914385) go
再结合程序操作,查找是否事务没有关闭。
解锁可使用:
>kill spid

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有