这是你对sql处理机制不熟悉.不管第一台机子是否重启,也不管是什么时候重启,在发生楼主所述的情况时,它的连接是已经被断开了的.而sql server会检测到连接被断开的情况, 并且会自动回滚第1台机子的事务,因此第2台机的查询始终可以执行下去,而不会一直锁住.

解决方案 »

  1.   

    当然, sql自动回滚事务的时间我没找到设置的方法, 以前测试过好像是1分多钟.楼主可以这样做测试. 
    连接到另一台电脑的sql,执行带事务的update
    在sql服务器上执行select, 这时是出不来数据的.
    在sql服务器上禁用网络,这样就相当于所有连接sql服务器的电脑不正常了. 
    等待,不用多久,你会发现sql服务器上执行的select 出结果了.
      

  2.   

    您可以尝试使用Read Uncommitted隔离级别。
      

  3.   

    设置一个堵塞时间应该可以吧
    set lock_timeout
    建议试试