Update Ci_Resource Set IfCreate=1 WHERE id=12以前一直都没问题,就是在使用了几个存储过程以后就执行这个就超时了?执行这个居然要40秒,报错了,执行不了。单独执行这个是没问题的。问题在哪里呢、?

解决方案 »

  1.   

    查询分析器中执行:raiserror('%d',10,1,@@spid) with nowait
    Update Ci_Resource Set IfCreate=1 WHERE id=12执行开始后, 切换到结果栏的"消息"页面, 记录下显示出来的那个数字
      

  2.   

    新开一个查询窗口, 执行:select * from master.dbo.sysprocesses
    where spid = 前面步骤记录下来的数字
    查看结果中的 blocked 列, 如果该列值不是 0 , 则说明你之前执行的一些东西还没有完成, 所以你的 update 被 block(阻塞) 了
      

  3.   

    如果你要强行中止产生阻塞的处理(blocked列对应的进程), 则再执行:kill blocked列值
      

  4.   

    邹建大哥,向小弟推荐几本不错的sql server数据库书籍吧!
    在此谢过了