Изменение значения первичного ключа для строки базы данных

Я использую SQL Server Management Studio, и я хочу изменить значение первичного ключа auto increment в строке таблицы с другим значением. SQL Server Management Studio после открытия таблицы для редактирования показывает, что это поле серое для всех строк, конечно.

Возможно ли это? Я хочу использовать номер строки, которую мы удалили по ошибке, поэтому она действительна (нет конфликта с другими значениями первичного ключа), и, что самое важное, следующая строка, добавленная в БД, должна иметь неизмененное значение с добавлением автоматического увеличения.

Спасибо.

EDIT: потеря связи с другими табличными записями на этом ПК не является проблемой для этой строки. Мы можем восстановить его вручную.

Ответ 1

Не обязательно рекомендуется, но вставьте копию строки, в которую вы хотите изменить номер, но с требуемым идентификатором:

SET IDENTITY_INSERT aTable ON
GO

-- Attempt to insert an explicit ID value of 3
INSERT INTO aTable (id, product) VALUES(3, 'blah')       
GO

SET IDENTITY_INSERT aTable OFF
GO

Затем удалите строку с номером, который вы не хотите (после обновления любых ссылок FK).

Подробнее здесь: http://technet.microsoft.com/en-us/library/aa259221(v=sql.80).aspx


Для потомков, чтобы прояснить вопрос в комментарии ниже, значение автоматического приращения будет затронуто только в том случае, если вы введете значение больше текущего максимума.

Цитата из связанной статьи:

Если введенное значение больше текущего значения идентификации для в таблице SQL Server автоматически использует новое вставленное значение в качестве текущее значение идентификации.