У меня вчера была необычная проблема, когда я внезапно не смог вставить записи в таблицу со столбцом идентификаторов.
Простая вставка, подобная этой: INSERT INTO MyTable (Column1, Column2) VALUES ('text', 236764)
Начал генерировать нарушение ограничения первичного ключа.
Я запустил DBCC CHECKIDENT для таблицы и понял, что SQL Server прекратил обновление последнего использованного значения, поэтому при вставке он увеличивался с использованием старого значения, а новое значение идентификатора обычно уже существовало в таблице, поэтому Нарушение ошибки.
Решение проблемы не было проблемой, я просто пересмотрел таблицу для следующего наивысшего порядкового номера, но я никогда не видел, чтобы это случилось раньше!
Кто-нибудь знает, что может привести к тому, что SQL Server прекратит обновление свойств идентификации, и где я могу найти доказательства? Репликация или триггеры не задействованы, это просто старая таблица.
РЕДАКТИРОВАТЬ: SQL Log Rescue был бы идеальным, но он работает только на SQL Server 2000. Существует ли аналогичный инструмент для журналов SQL 2005?