У меня есть столбец идентификаторов, который имеет несколько удалений, теперь он не работает, поскольку достигает максимального предела типа данных INT, как я могу вставить записи вместо удаленных без усечения всех данных?
Вы не можете "перерабатывать" неиспользуемые IDENTITY значения - если вы достигли конца диапазона данных INT, вам нужно изменить столбец ID на BIGINT.
IDENTITY
INT
ID
BIGINT
ALTER TABLE dbo.YourTable ALTER COLUMN YourIDColumn BIGINT
Свойство IDENTITY будет сохранено - теперь у вас есть много дополнительных значений ID, доступных на ближайшие пару месяцев / лет!
Простите за очевидное ...
Вы начали с 1, с шагом 1? Если так, измените идентичность на -1, -1. Требуется перестроить таблицу, но это проще, чем перейти на bigint. И дает вам еще 2 миллиарда ID.
Тогда спланируй миграцию bigint ...
Это похоже на большую работу;почему бы просто не изменить первичный ключ в таблице (и любых связанных таблицах) с int на bigint?
int
bigint
int даст вам максимальное значение 2 147 483 647.
A bigint даст максимальное значение 9 223 372 036 854 775 807.