对于这种脏读,你最好加个字段,rowversion添加删除数据的时候都不用管它,当更新数据的时候把它也读出来。

解决方案 »

  1.   

    设计的不好,
    建议设为自增列,用 IDENT_CURRENT  
      

  2.   


    问题就是当A执行上面语句时.B也在执行同一个语句 
    问题就出在当A运行完语句1时,未运行语句2这段时间间隔.B也执行了语句1.再运行语句2. 
    此时A才运行语句2 这段时间间隔,B 是无法执行语句1的!
    你要把A 的语句1和语句2放到一个事务里面
      

  3.   

    可以在两台服务器中都启用分布式事务服务,将这样就避免了重复,用事务就可以自动产生锁BEGIN DISTRIBUTED TRANSACTION--关键
    语句1:update 序号表 set 序号=序号+1  where 标识='QH' 
    declare 编号  varchar(10) 
    语句2:set 编号=(select  序号 from 序号表)