紧急恢复操作

use*_*267 0 sql-server

我在我的生产服务器上运行了一个错误的查询,我需要恢复我的数据库。

我有一个完整备份(20160828)和一个差异备份(29,30,31 和 01/09),我有事务日志备份。

是否需要恢复所有差异备份或仅恢复最后一个?

除了必须通过恢复进行恢复的最后一个事务日志备份之外,我必须执行的所有还原操作都必须处于非恢复状态(完整、所有差异和所有事务日志),这是真的吗?

提前致谢

小智 7

只需恢复上次完整备份、最近的差异,然后是差异后的事务日志,直到您要恢复的时间点。伊戈尔是对的。


Kin*_*hah 5

补充@WEI_DBA 的答案,我发现如果您有一个生成确切命令来运行的脚本,它会非常有用。

sp_RestoreGene在您所处的情况下非常有用(前提是您有良好的可恢复备份文件)。

此过程在 master 中查询 msdb 数据库备份历史记录和数据库文件详细信息。它构建并返回 RESTORE DATABASE 命令作为其结果集,它不执行命令。

@StopAt在您说“Opps 这是一个错误......!”之前,请确保您使用了停止恢复。

是否需要恢复所有差异备份或仅恢复最后一个?

最新的 FULL、最新的差异和后续的 T-log 备份。

除了必须通过恢复进行恢复的最后一个事务日志备份之外,我必须执行的所有还原操作都必须处于非恢复状态(完整、所有差异和所有事务日志),这是真的吗?

是的,所有还原都应使用norecovery. 最后一个 T-log 应该recovery用来使数据库联机。