这个问题之前,我也发现了。在你的sp_lock图中,可以看出,有3个行有X锁,照理应该是独占的,select应该是查询不到的,但去能查询到。

解决方案 »

  1.   

    你的问题,于这个类似:锁不住的查询 
    http://blog.csdn.net/zjcxc/article/details/4383113
      

  2.   

    大概的原因:引用 17 楼 SQL_Beginner 的回复:
    答一下下面那个有点奇怪的LOCK行为
    http://bbs.csdn.net/topics/390648712
    上面那个帖子里,读操作为什么不需要S LOCK?
    因为SQL SEVER有个优化机制,在没有脏读可能的情况下,不需要去申请S LOCK,这种现象MSDN上没有记载。参考:
    讨论二:Lock/latch/spinlock,deadlock
    http://bbs.csdn.net/topics/390657894?page=1#post-396233786