身份增量是在sql server localdb中跳转的

时间:2014-11-12 13:03:48

标签: sql-server identity localdb

重新启动localDB服务时,标识列值跳转到1000。 SQL Server 2012和2014的一个恼人的功能。这会导致很大的差距。有一个Express版本的解决方案(向db实例启动参数添加-T272选项以恢复到2008年的行为。)但是localDB实例没有出现在SQL Server 2014配置管理器中,我无法访问参数。那么我们如何配置呢?我不想使用序列。

1 个答案:

答案 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

供参考: