CREATE TABLE dbo.TestIdentity
(
ID bigint identity(1,1) --primary key
,[Desc] char(20)
)
INSERT INTO dbo.TestIdentity ([Desc]) values ('first')
INSERT INTO dbo.TestIdentity ([Desc]) values ('second')
SET IDENTITY_INSERT TestIdentity ON
--note the identities being inserted
INSERT INTO dbo.TestIdentity (ID,[Desc]) values (1200,'id-third')
INSERT INTO dbo.TestIdentity (ID,[Desc]) values (1,'id-fourth') -–this works until you set a unique constraint on the column.
SET IDENTITY_INSERT TestIdentity OFF
INSERT INTO dbo.TestIdentity ([Desc]) values ('third')
INSERT INTO dbo.TestIdentity ([Desc]) values ('forth')
SELECT * FROM dbo.TestIdentity
/*
* You can only turn on IDENTITY_INSERT for one table per session so it's always a good idea to turn it off when you're done with it.
*/
DROP TABLE dbo.TestIdentity