У меня есть следующий сценарий. Предположим, у меня есть 3 таблицы:SQL Server: восстановление из резервной копии, но сохранить идентификатор (идентификатор)
Идентификаторы являются целыми числами и первичным ключом с идентификатором (1,1).
Clients
(ID (рк), Name)Orders
(ID (рк), ClientID (Ф.К.), дата)OrderDetails
(ID (рк), OrderID (Ф.К.), продукт, Количество , Цена)
Предположим, что я случайно удалил все записи из этих трех таблиц, но у меня есть резервная копия БД. Вопрос в том, как я могу вставить эти удаленные записи из резервной копии в текущую БД?
Я знаю, что могу просто "set identity_insert on"
и использовать "insert into"
, но это веб-приложение, и оно должно остаться в живых, и есть вставки от пользователей.
Если я ввожу все Clients
назад, их идентификатор будет другим, и Orders(ClientID)
не может ссылаться на него больше. Итак, с таблицами Orders/OrderDetails
.
Мне нужно каким-то образом обновить идентификаторы внешнего ключа новыми. Как я могу это сделать?
Какие-то временные таблицы для хранения записей старых идентификаторов и новых идентификаторов?
Надеется, что я сделал свой вопрос четкого :)