昨天我遇到了一个不寻常的问题,我突然无法将记录插入带有标识列的表中.
像这样的简单插入:INSERT INTO MyTable(Column1,Column2)VALUES('text',236764)
开始抛出主键约束违规.
我在表上运行了DBCC CHECKIDENT,并意识到SQL Server已经停止更新上次使用的值,因此当它插入时,它使用旧值递增,并且表中通常已存在新的标识值,因此违规错误.
解决问题不是问题,我只是将表重新接种到下一个最高序列号,但我以前从未见过这种情况!
有没有人知道什么可能导致SQL Server停止更新身份属性,以及我可能在哪里寻找证据?没有复制或涉及任何触发器,它只是一个普通的旧表.
编辑:SQL Log Rescue本来是理想的,但它只适用于SQL Server 2000.是否有类似的工具用于SQL 2005日志?