SQL Server 备份你真的了解吗?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
我们知道SQL Server三种常用的备份类型:完整备份、差异备份、日志备份 如下,当我们对数据库进行以下备份计划(数据库必须进行首次非COPY_ONLY的完整备份,才能进行差异或日志备份) 在进行时间点恢复的时候,可以使用如下方式根据要求组合恢复:
也就是说,恢复的基准是完整备份,日志作为增量备份是独立的。从上面的备份恢复方案可以看出,差异备份(Diff)似乎就有点多余了。 差异备份仅捕获自该次完整备份后发生更改的数据,所以备份的时间相对较少,但必须保留最近的完整备份。对于频繁的完整备份,用差异备份替换可减少了备份的时间、大小。但是增加了备份文件的管理难度,以及恢复的复杂度。如果你的数据库数量少、并且不大,不推荐使用差异备份;如果你的数据库很大,推荐使用差异备份。 同样,如果你多年前已经进行了一次完整备份,如今你可以选择两种备份计划(推荐第一种):
既然日志备份是独立的,在恢复的时候(如恢复到Log-05),我们可以选择的恢复方案如下
这两种恢复方案的结果是一样的,即使完整备份与日志备份都使用 COPY_ONLY 也一样(COPY_ONLY 使日志无法截断重用)。如果你丢失了中间的一些完整备份,你可以使用较早的完整备份加后续的日志备份来恢复 在 SQL Server AlwaysOn AG 中,备份要求如下:
主备副本允许的备份类型:
AG备份选项与优先级的关系(3节点示例):
判断当前实例的数据库是否是备份的首选副本,可用系统函数fn_hadr_backup_is_preferred_replica查看。
当然,fn_hadr_backup_is_preferred_replica 是考虑同步提交的情况。如果副本都是异步提交,优先级则被忽略,系统默认首选副本为主副本。如所有副本异步提交并且选择 “仅辅助副本”, 函数 fn_hadr_backup_is_preferred_replica 在主副本与辅助副本的结果都为0。只要备份首选项中含有主副本,那么主副本都为1。 在AlwaysOn AG 中,你知道各节点备份的关系吗?我这里有3个副本,将按由上至下的顺序进行备份。
当我们需要恢复数据库的时候,我们可以将所有的日志用来一起恢复: [Full-backup] + [Log-backup-01]+ [Log-backup-02]+ [Log-backup-03] 上面的恢复中是正常的。也就是说,不管在哪个节点备份日志,日志链都是连接的。当在辅助副本进行日志备份的时候,它会通知主副本。主副本获取到一个备份锁,以防止多个副本同时进行备份。辅助副本备份完成后,会告知主副本并发送LSN信息。主副本更新自己的LSN并同步更新其他辅助副本的LSN信息。完成后,主副本释放备份锁,备份完成。这时可允许新的备份操作、也允许副本根据LSN截断日志。因此,一般只在一个节点上备份,如果该节点宕机,在其他点上启用的日志备份计划,尽量将备份保留在公共的共享位置来管理,以维护完整的日志顺序。 阅读原文:原文链接 该文章在 2025/1/10 11:08:23 编辑过 |
关键字查询
相关文章
正在查询... |