数据库完整备份和差异备份

 

首先对数据库进行完整备份,然后在对数据库进行下一次完整备份前,可以对数据库进行差异备份。

如果数据库发生了故障,首先进行完整备份还原,然后按差异备份的时间顺序进行差异备份还原。

 

参考资料:sqlserver联机丛书

操作(数据库引擎) > 管理(数据库引擎) > 在 SQL Server 中备份和还原数据库 > 

 

还原完整数据库

通常,将数据库恢复到故障点分为下列基本步骤:

  1. 备份活动事务日志(称为日志尾部)。此操作将创建结尾日志备份。如果活动事务日志不可用,则该日志部分的所有事务都将丢失。
  2. 还原最新完整数据库备份而不恢复数据库 (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY)。
  3. 如果存在差异备份,则还原最新的差异备份而不恢复数据库 (RESTORE DATABASE database_name WITH NORECOVERY)。
  4. 从还原备份后创建的第一个事务日志备份开始,使用 NORECOVERY 依次还原日志。
  5. 恢复数据库 (RESTORE DATABASE database_name WITH RECOVERY)。此步骤也可以与还原上一次日志备份结合使用。
  6. 数据库完整还原通常可以恢复到日志备份中的某一时间点或标记的事务。但是,在大容量日志恢复模式下,如果日志备份包含大容量更改,则不能进行时点恢复。有关详细信息,请参阅将数据库还原到备份中的某个时间点。

故障发生后 (1),将创建结尾日志备份 (2)。接着,将数据库还原到该故障点。这涉及到还原数据库备份、后续差异备份以及在差异备份后执行的每个日志备份,包括结尾日志备份。

联机丛书上有一个图,很好的说明了这个过程:

出现故障后,首先创建结尾日志备份,然后再开始将数据库恢复到故障点。

1)完整数据库备份

2)差异数据库备份

3)例行日志备份

4)结尾日志备份

 

参考联机丛书:管理(数据库引擎) > 在 SQL Server 中备份和还原数据库 > 实现 SQL Server 数据库还原方案 > 

 

    对于大多数情况,在完整恢复模式或大容量日志恢复模式下,SQL Server 2005 及更高版本要求您备份日志结尾以捕获尚未备份的日志记录。还原操作之前对日志尾部执行的日志备份称为“结尾日志备份”。 

    结尾日志备份可以防止工作丢失并确保日志链的完整性。将数据库恢复到故障点时,结尾日志备份是恢复计划中的最后一个相关备份。如果无法备份日志尾部,则只能将数据库恢复为故障前创建的最后一个备份。

语句:BACKUP LOG 数据库名称 TO <备份设备> WITH NORECOVERY

 

参考:管理(数据库引擎) > 在 SQL Server 中备份和还原数据库 > 使用事务日志备份 > 

 

posted on   荆棘人  阅读(954)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2017-11-22 服务器性能指标有哪些
2017-11-22 C#一些需要注意的点(中级)
2017-11-22 JSON.parse与eval区别

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示