还原到新库并导回数据
还原到新库并导回数据
RESTORE DATABASE [AppDB_rescue]
FROM DISK = N'D:\backup\AppDB-full.bak'
WITH MOVE N'AppDB' TO N'D:\data\AppDB_rescue.mdf',
MOVE N'AppDB_log' TO N'D:\data\AppDB_rescue_log.ldf',
RECOVERY;
-- 只导回缺失的行(幂等)
INSERT INTO [AppDB].[dbo].[Orders] (Id, OrderNo, CreatedAt)
SELECT s.Id, s.OrderNo, s.CreatedAt
FROM [AppDB_rescue].[dbo].[Orders] AS s
WHERE NOT EXISTS (SELECT 1 FROM [AppDB].[dbo].[Orders] AS t WHERE t.Id = s.Id);| 优点 | 生产库只受影响于导回的动作,恢复过程完全隔离 |
|---|---|
| 前提 | 实例磁盘空间足够还原一份完整副本 |
| 清理 | 导回并验证后删除临时库,避免空间与合规风险 |
导回前核对表结构与索引:临时库版本与生产不一致时,导回语句要显式列出列名。