sp_who 找到该进程号,kill 进程号。不用停服务。 

解决方案 »

  1.   

    在sql server enterprise manager中找到管理-当前活动-锁/进程id 然后找到你的进程然后,取消就可以了
      

  2.   

    火线求助怎么也没有回应了,看来是不太急,sqlserver能自己清掉死锁,只要你有耐心。
    呵呵
      

  3.   

    哈哈,sorry
    忙着自己解决问题去了,已经搞定!
    方法如下,拿出来共享:
    从sysobjects库中查出锁死的表的objID
    sp_who查出包含这个objID的进程
    kill 进程号
    搞定不过后来又碰到一个问题,在SQL server的Enterpirse Tool的图形界面里修改了表结构,保存无反应,两分钟后报错。此表死锁,不能再修改表结构,但是可以操作数据。
    查询出进程的状态是rollback
    kill不了进程怎么解决?
      

  4.   

    sqlserver修改表结构时,是先把数据导入临时表,然后创建一个新的表,然后再把临时表的数据导入新创建的表。如果出错,会rollback。这时是会锁表,耐心等待就行了,如果这时你把进程杀了,可能会造成不可预知的错误。
      

  5.   

    这个进程我kill它,但是kill不了,应该没问题吧
    恐怖!我的这个表已经有了两千个客户的数据了,怎么办啊?
    现在查询和录入数据都没有问题
      

  6.   

    如果有很重要的数据,记得经常备份,如果表的数据不是很多,在修改表结构之前先把数据备份到一个备份表中,成功后再删除,作为dba,只有小心小心再小心才行。不然出了错误,又没有备份的话,哭都来不及了。