Неожиданный сброс/значение автоматической идентификации SQL Server

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?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Одна из возможностей состоит в том, что кто-то установил identity_insert на ON для таблицы и вставил строку.

В противном случае вы не сможете вставить явное значение для столбца идентификации.

И identity гарантированно будет возрастающим значением (хотя могут быть пробелы) при автоматическом создании.

Итак, по какой-то причине SQL Server не заполняет эти пробелы самостоятельно? Спасибо за быстрый ответ.

bernhard.wieland 14.12.2020 13:33

Неа. SQL Server никоим образом не возвращается и не заполняет пробелы.

Grant Fritchey 14.12.2020 14:01

Другие вопросы по теме