新建两个查询窗口:
第一个连接:
begin   tran   
        select   *   from   table1    
        where   B='b2'     
        waitfor   delay   '00:00:30'     --等待30秒   
  commit   tran   
第二个连接;
update table1 set A='aaaaaaaaa' where B='b2'刚看了一段文章。他是这样说的:
SQL Server采取的是乐观锁:对于Update,Insert,Delete自动采用X锁,对于Select,自动采用S锁:问题1:我运行第一个连接紧接运行第二个连接后。第二个连接的语句马上生效了(一行受影响),怎么感觉不是自动加锁。是上面这句话有问题还是我理解错了..select 是自动加锁还是人为加锁?问题2:在一个事务中里面有update table1 set A='aaaaaaaaa' where B='b2'这个语句,是什么时候释放锁呢是在这个update语句执行完之后还是整个事务结束提交后?