从活动 SQL 服务器 table 恢复已删除的信息
Restore deleted information from active SQL Server table
我有一个存储客户信息的数据库 (dbo.custinfo
)。 table 中的 telephone 号码在过去出于安全目的已被删除,替换为 Null 值。现在已经决定 phone 号码需要放回原处。
此后,此数据库中添加了其他客户。在确保正确的号码与正确的客户相对应的同时恢复此数据的最佳方法是什么?
我有删除 phone 号码之前完成的数据库备份。
提前致谢
虽然根据 Larnu 评论要求并行恢复数据库,但可以通过 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
我有一个存储客户信息的数据库 (dbo.custinfo
)。 table 中的 telephone 号码在过去出于安全目的已被删除,替换为 Null 值。现在已经决定 phone 号码需要放回原处。
此后,此数据库中添加了其他客户。在确保正确的号码与正确的客户相对应的同时恢复此数据的最佳方法是什么?
我有删除 phone 号码之前完成的数据库备份。
提前致谢
虽然根据 Larnu 评论要求并行恢复数据库,但可以通过 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