"Все успешно перенесено, и мы столкнулись с минимальными проблемами."
Я сомневаюсь, что это действительно так. Похоже, что при импорте не удалось добавить первичные ключи и ограничения во время восстановления базы данных, что на самом деле довольно сложно.
Если ваша база данных небольшая (всего менее 10 миллионов строк во всех таблицах), вы могли бы закодируйте скрипт для добавления первичных ключей и кластерных индексов на месте, используя инструкцию ALTER TABLE.
Если ваша база данных больше этой, вам нужно либо повторно импортировать ее с нуля, обращая внимание на этот раз в любые журналы ошибок или создайте новые таблицы, выделите в них все свои данные, удалите существующие таблицы и переименуйте новые таблицы в имена, названные старыми.
Я думаю, все зависит от того, сколько таблицы, которые у вас есть, и сколько у них строк, какой подход вам подходит.
В SSMS есть несколько отличных инструментов и ярлыков для выполнения подобных задач. Щелкните правой кнопкой мыши по таблице, нажмите «Сценарий как», нажмите «Создать в», нажмите «Новое окно запроса» и вуаля, у вас есть готовый оператор создания таблицы, готовый к go. Добавьте к нему свои ограничения, переименуйте его в [Tablename] 2, запустите и вуаля! Вы только что создали новую таблицу с ограничением первичного ключа. Выделите все из существующей таблицы в вашу новую таблицу, удалите старую таблицу, переименуйте вашу новую таблицу обратно в прежнее имя, и bam, все готово.
Если вам нужно это сделать 20 раз, ничего страшного. Если вам нужно сделать это 2000 раз, вы можете записать эти операции в один длинный запрос.