在快照隔离下,查询不会阻塞其他事务,也不会被其他事务阻塞,因为每个事务看到的是数据的一个快照版本,而不是实际的行锁。实质上,使用了WITH(NOLOCK)后,数据库依然对该表对象生成Sch-S(架构稳定性)锁以及DB类型的共享锁,不要认为不会被其它会话阻塞,依然可能会产生Schema Change Blocking。3、 使用READ_COMMITTED_SNAPSHOT: 启用数据库的READ_COMMITTED_SNAPSHOT选项,使得在读取已提交隔离级别下执行的查询也能像快照隔离一样不阻塞。