SQL-сервер Версия: 12.0.5556.0
Проблема: SQL Server сгенерировал неожиданное удостоверение или сбросил значение автоматического удостоверения.
Информация: у меня есть клиентская система, на которой работает SQL Server 12.0.556.0, где на этапе тестирования я сгенерировал некоторые тестовые данные, которые были удалены при запуске системы. Таким образом, значение идентификатора в этой таблице начинается с ~ 34 000, когда система запускалась в производство в 2018 году.
Теперь, через 2 года, значение идентификатора составляет ~ 90 000, но несколько дней назад была создана запись с идентификатором 1. Когда я запрашиваю таблицу с помощью select IDENT_CURRENT('MyTable'), она показывает значение 90182.
Теперь к моему вопросу: есть ли какая-либо причина, по которой SQL Server внезапно изменит значение идентификатора на 1, а затем вернется к текущему значению идентификатора ~ 90 000?


Одна из возможностей состоит в том, что кто-то установил identity_insert на ON для таблицы и вставил строку.
В противном случае вы не сможете вставить явное значение для столбца идентификации.
И identity гарантированно будет возрастающим значением (хотя могут быть пробелы) при автоматическом создании.
Неа. SQL Server никоим образом не возвращается и не заполняет пробелы.
Итак, по какой-то причине SQL Server не заполняет эти пробелы самостоятельно? Спасибо за быстрый ответ.