Восстановить удаленную информацию из активной таблицы SQL Server - PullRequest
0 голосов
/ 21 марта 2019

У меня есть база данных, в которой хранилась информация о клиенте (dbo.custinfo).Телефонные номера в таблице в прошлом были удалены из соображений безопасности, заменив их значениями Null.Теперь было решено, что телефонные номера должны быть введены обратно.

С тех пор в эту базу данных были добавлены другие клиенты.Каков наилучший способ восстановить эти данные, убедившись, что правильные номера соответствуют нужным клиентам?

У меня есть резервная копия БД, которая была сделана до удаления телефонных номеров.

Заранее спасибо

1 Ответ

0 голосов
/ 21 марта 2019

Хотя в соответствии с комментариями Ларну требуется параллельное восстановление базы данных, эта операция может быть выполнена с помощью SSMS и GUI.

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

Итак, общий фрагмент для возврата значений:

-- Another backup to rollback this change
BACKUP DATABASE yourDB TO DISK= 'C:\Somewhere\YourDB.bak' WITH COPY_ONLY, COMPRESSION, STATS=1
-- UPDATE + JOIN
UPDATE cur_ci
SET cur_ci.phone = res_ci.phone
FROM [CURRENTDB].dbo.custinfo cur_ci
JOIN [RESTOREDB].dbo.custinfo res_ci on cur_ci.customerID = res_ci.customerID
...