Столбец Identity INT достиг максимального предела в SQL Server - PullRequest
1 голос
/ 06 ноября 2019

Я использую SQL Server 2012 и одну из таблиц в рабочем состоянии со столбцом INT identity(1,1), в котором primary key clustered достиг максимального значения. Может кто-нибудь помочь мне решить эту проблему?

1 Ответ

2 голосов
/ 06 ноября 2019

попробуйте изменить столбец таблицы

ALTER TABLE OneTable ALTER COLUMN ID bigint

В случае зависимости первичного ключа или FK произойдет сбой со следующей ошибкой:

Сообщение 5074, Уровень 16, Состояние 1, Строка 1 Объект PK_OneTable зависит от столбца ID. Сообщение 4922, уровень 16, состояние 9, строка 1: ошибка ALTER TABLE ALTER COLUMN ID, так как один или несколько объектов обращаются к этому столбцу.

Решение 1

  1. Создать новый bigintстолбец в таблице
  2. Обновить этот новый столбец значениями из столбца int
  3. Удалить столбец int
  4. Переименовать столбец bigint
...