SQL Server 2005 Especificação de identidade não respeitando valor de semente
-
08-07-2019 - |
Pergunta
Eu estou no processo de conversão de um banco de dados Access para o SQL Server 2005. Eu migraram com sucesso os dados e esquema original usando SSMA e estou agora no processo de normalizar o banco de dados, o que me obriga a adicionar alguns identificadores únicos.
Algumas das colunas que tivemos foram criados anteriormente usando um tipo de dados AutoNumeração, o que é bom. No entanto, eu preciso criar identificadores sem sentido, mas únicas para outros dados, por isso estou usando o tipo de dados int com a propriedade Identidade Specification. Estou semeando a '101' para manter esses dados acima da faixa que atualmente existe para dados que já identificadores únicos, como eles irão, eventualmente, residir na mesma tabela.
O meu problema é que quando eu criar uma nova int com identidade especificação com um valor de semente de '101' e um incremento de '1', os números começam em '1'. Tentei nova propagação com:
USE dbMyDatabase
DBCC checkident(tblMyTable, reseed, 101)
sem sucesso. Alguma sugestão seria muito apreciada. Agradecemos antecipadamente!
Solução
A solução foi criar a coluna usando uma consulta SQL manualmente. Adicionando-lo através do "New Coluna ..." opção produziu resultados incorretos de cada vez. Agora que eu adicionei-o com
USE dbMyDatabase
ALTER TABLE tblMyTable
ADD fldID INT IDENTITY(101,1)
ele funciona muito bem.