Выполнение сгенерированных скриптов вызывает выбросы Невозможно вставить явное значение для столбца идентификаторов в таблице '', когда для IDENTITY_INSERT установлено значение OFF - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь переместить базу данных с сервера с выпуском SQL Server 2017 Express на другой сервер с SQL Server 2014 Standard Edition. Резервное копирование / восстановление базы данных было недоступно из-за проблем с версией, поэтому мне пришлось сгенерировать сценарии для всей базы данных и запустить их на новом сервере.

Поскольку моя общая база данных составляет около 4 ГБ (с данными), поэтому я сначала создал только сценарии схемы и запускали их на целевом сервере, который работал отлично. Затем я создал сценарии только для данных с установкой совместимости с базой данных SQL Server 2014 Express.

Когда я запускаю эти сценарии в целевой системе, я получаю много ошибок, как показано ниже.

Невозможно вставить явное значение для столбца идентификаторов в таблицу '', когда для IDENTITY_INSERT установлено значение OFF.

Я знаю, что проблема в том, что столбец идентификаторов имеет значение true для таблиц, для которых я столкнулся с этой проблемой, а затем я предоставляю значения для столбца идентификаторов. Я хочу использовать для столбцов идентификаторов те же значения, что и в базе данных моего старого сервера.

Как мне успешно восстановить эту базу данных?

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Возможно, есть возможность временно удалить свойство идентификации из исходной таблицы перед генерацией скриптов и восстановить его позже. Если возможно.

0 голосов
/ 07 августа 2020

Перед вставкой в ​​столбец идентификаторов вы должны разрешить это с помощью set identity_insert <table name> on. Отметьте эту команду. После того, как вы закончите, set identity insert off.

Может быть, есть какой-нибудь вариант для восстановления личности. В обычном режиме SQL восстановление сервера выполняется нормально.

...