Você não pode atualizar a coluna de identidade.
O SQL Server não permite atualizar a coluna de identidade ao contrário do que você pode fazer com outras colunas com uma instrução de atualização.
Embora existam algumas alternativas para atingir um tipo semelhante de requisito.
- Quando o valor da coluna Identity precisa ser atualizado para novos registros
Use DBCC CHECKIDENT que verifica o valor de identidade atual da tabela e, se necessário, altera o valor de identidade.
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
- Quando o valor da coluna Identity precisa ser atualizado para registros existentes
Use IDENTITY_INSERT que permite que valores explícitos sejam inseridos na coluna de identidade de uma tabela.
SET IDENTITY_INSERT YourTable {ON|OFF}
Exemplo:
-- Set Identity insert on so that value can be inserted into this column
SET IDENTITY_INSERT YourTable ON
GO
-- Insert the record which you want to update with new value in the identity column
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old row of which you have inserted a copy (above) (make sure about FK's)
DELETE FROM YourTable WHERE ID=3
GO
--Now set the idenetity_insert OFF to back to the previous track
SET IDENTITY_INSERT YourTable OFF