重新启动localDB服务时,标识列值跳转到1000。 SQL Server 2012和2014的一个恼人的功能。这会导致很大的差距。有一个Express版本的解决方案(向db实例启动参数添加-T272选项以恢复到2008年的行为。)但是localDB实例没有出现在SQL Server 2014配置管理器中,我无法访问参数。那么我们如何配置呢?我不想使用序列。
答案 0 :(得分:0)
您可以使用序列列替换您的标识列。
CREATE SEQUENCE Id_Sequence AS INT
START WITH 1
INCREMENT BY 1
MINVALUE 0
NO MAXVALUE
NO CACHE
然后您可以将您的标识列重新配置为INT,并且要将值插入INT列,您可以:
INSERT MyTable (Id) VALUES (NEXT VALUE FOR Id_Sequence)
更好的是,您可以将其设为默认值,以便行为与身份相同。
ALTER TABLE MyTable ADD DEFAULT NEXT VALUE FOR Id_Sequence FOR Id
供参考: