静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

自动增加ID出现不连续可能出现的问题

作者:大鹏 发布于:2009-4-24 12:22 Friday 分类:Asp.Net 2.0
标签: 服务器 sqlserver2005 asp databasemssql-2005

昨天总部对我们公司的HR系统进行审计,在审查系统操作日志时,发现日志记录表的自动增长ID有不连续的情况,如是怀疑可能有DBA在后台删除过某些记录,当时看到这种情况时都比较吃惊。后来一想可能是由于事务回滚所引起的,于是做了一个测试,发现事务回滚后,自动增长ID真的可以跳过,下面是测试的一个代码

[code]
create table aaa (
  id int identity(1,1),
  names nvarchar(100),
  primary key (id)
)

Go

begin transaction test

  insert into aaa (names) values('aaa');
  insert into aaa (names) values('aaa');
  insert into aaa (names) values('aaa');

rollback transaction test

Go

insert into aaa (names) values('aaa');
select * from aaa
Go
[/code]


评论(0) 引用(0) 浏览(7512)