代码之家  ›  专栏  ›  技术社区  ›  HotTester

在使用DBCC CHECKIDENT重新启动标识列计数之后,我们是否可以回滚到原始状态?

  •  3
  • HotTester  · 技术社区  · 15 年前

    1 回复  |  直到 15 年前
        1
  •  6
  •   Ed Harper    15 年前

    create table #t
    (id int identity, val1 int)
    go
    
    insert #t (val1)
    values (1),(2),(3)
    
    select MAX(id) AS before from #t
    
    begin tran 
    
        delete #t
    
        dbcc checkident (#t, reseed,0)
    
        select MAX(id) AS inside_tran from #t   
    
    rollback
    
    select MAX(id) as after_rollback from #t
    dbcc checkident (#t, noreseed)