这与问题有点相关:SQL server identity column values start at 0 instead of 1
但我不确定这里发生了什么。我们有“空白”数据库,我们用它来启动客户的帐户。我们通过备份和恢复数据库来做到这一点。
客户在恢复后获得完全空白的表格。表的示例,我们所有的表都具有与此完全相同的PK:
CREATE TABLE [dbo].[RNPRatePlanStop]
(
[RatePlanStopKey] [int] IDENTITY(1,1) NOT NULL,
[RatePlanKey] [int] NOT NULL,
.....
)
插入新记录时偶尔会出现一段时间(并非总是而不是所有表格) - 0
未预期插入1
。我不确定如何解决这个问题或者我做错了什么。这会导致UI出现问题,因为我们不依赖于0
键..
答案 0 :(得分:0)
当我运行这样的命令时,声明也是IDENTITY(1,1):
SELECT IDENT_CURRENT('RNPRatePlanStop')
它返回0.对于此表和大约7个其他表。不知道这是怎么可能的,可能是因为IDENTITY后来通过脚本应用了。
解决方案是在这些表格上“播种”正确的身份:
DBCC CHECKIDENT(RNPRatePlanStop, RESEED, 1)
之后 - 他们都正确重置,一切都很顺利。 100多个表中的少数人最终是这样的,这仍然是个谜。