Identidade SQL (número automático) é incrementada mesmo com uma reversão de transação
Eu tenho uma transação .net com uma inserção SQL em um banco de dados SQL Server 2005. A tabela possui uma chave primária de identidade.
Quando ocorre um erro dentro da transação,Rollback()
é chamado. As inserções de linha são revertidas corretamente, no entanto, na próxima vez que insiro dados na tabela, a identidade é incrementada como se a reversão nunca tivesse ocorrido. Então, essencialmente, existem lacunas na sequência de identidade. Existe alguma maneira de ter oRollback()
método recuperar a identidade ausente?
Não estou abordando isso da maneira certa?