我正在使用MSOFT为Azure提供的SQL Server 2012。我的标识列有一个习惯,有时会跳过1000,即使它们在我的表中是“INT IDENTITY(1,1)NOT NULL”。
我能做些什么来阻止这种情况发生。如果我从表中删除所有行怎么办?看起来甚至在我删除每一行之后,当我添加一个新行时,它开始时的ID超过1,000。
答案 0 :(得分:4)
请参阅this post和this answer。基本上,这是设计和关于为什么这不是太多问题的论点是在达到身份限制之前将超过azure数据库限制。还可以选择使用bigint。
没有解释为什么在数据库被退回时为什么跳转种子,但我猜它与并发问题有关,这可能导致同一身份被用于两个记录之间的边界关闭并重新启动(由于某种原因,我无法想到)。