SQL Server 2005 Identity Specification не учитывает начальное значение
-
08-07-2019 - |
Вопрос
Я нахожусь в процессе преобразования базы данных Access в SQL Server 2005. Я успешно перенес данные и исходную схему с использованием SSMA, и сейчас я нахожусь в процессе нормализации базы данных, что требует от меня добавления нескольких уникальных идентификаторов. р>
Некоторые из ранее созданных нами столбцов были созданы с использованием типа данных AutoNumber. Однако мне нужно создать бессмысленные, но уникальные идентификаторы для других данных, поэтому я использую тип данных int со свойством Identity Specification. Я сею в «101», чтобы сохранить эти данные выше диапазона, который в настоящее время существует для данных, которые уже имеют уникальные идентификаторы, поскольку они в конечном итоге будут находиться в одной таблице.
Моя проблема в том, что когда я создаю новый тип int со спецификацией идентичности со начальным значением '101' и шагом '1', числа начинаются с '1'. Я попытался перезарядить с помощью:
USE dbMyDatabase
DBCC checkident(tblMyTable, reseed, 101)
безрезультатно. Любые предложения будут ценны. Заранее спасибо!
Решение
Решением было создать столбец с помощью SQL-запроса вручную. Добавление его через " Новый столбец ... " опция выдает неправильные результаты каждый раз. Теперь, когда я добавил его с помощью
USE dbMyDatabase
ALTER TABLE tblMyTable
ADD fldID INT IDENTITY(101,1)
это работает просто отлично.