Så vitt jag vet måste du skapa en temporär tabell med ID-fältet skapat som IDENTITY, sedan kopiera all data från den ursprungliga tabellen. Slutligen släpper du den ursprungliga tabellen och byter namn på den tillfälliga. Detta är ett exempel med en tabell (som heter Testtabell ) som bara innehåller ett fält, kallat ID (heltal, icke IDENTITY):
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_TestTable
(
ID int NOT NULL IDENTITY (1, 1)
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_TestTable ON
GO
IF EXISTS(SELECT * FROM dbo.TestTable)
EXEC('INSERT INTO dbo.Tmp_TestTable (ID)
SELECT ID FROM dbo.TestTable WITH (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_TestTable OFF
GO
DROP TABLE dbo.TestTable
GO
EXECUTE sp_rename N'dbo.Tmp_TestTable', N'TestTable', 'OBJECT'
GO
COMMIT