SQL Server:更改标识种子

2022-03-07 00:00:00 sql sql-server ssms
我正在将数据从一个数据库迁移到另一个数据库。我的脚本大部分已经组合在一起了,但我正在尝试找出对新数据库中的表进行一次更改的最佳方法。

我有一个Customer表。该表有一个customer_id列,它是标识列。我希望将标识种子/增量从(1,1)更改为(200,1),而不更改我将插入到表中的现有数据的CUSTOMER_ID。

旧数据为101-108。基本上,我们希望保持旧数据不变,以便它与其他系统中的旧记录相匹配,但我们希望新数据从200开始播种。

我尝试在Google上搜索如何做到这一点,但是我所有的Google结果都是人们想要更改Identity列是什么列,而不仅仅是更改Identity Seed编号。有没有简单的查询可以用来完成我想要做的事情?


解决方案

您可以使用DBCC CHECKIDENT:

DBCC CHECKIDENT ('dbo.customer', RESEED, 200)
这将更改指定表的标识列的当前种子值。如果需要插入特定的标识值,可以在INSERT语句中SET IDENTITY_INSERT ON

IDENTITY_INSERT

相关文章