Backup--备份基础理论
--完整备份:完整备份会备份所有数据的区和少量的日志(日志文件用于恢复数据保持数据一致性)。由于差异备份需要依据最后一次完整备份,因此完整备份会清楚一些分配位图数据。
--差异备份:差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有修改过的数据区(注意不是数据页),差异备份不是增量进行,不会修改分配位图数据。
--事务日志备份:在完整恢复模式或大容量日志恢复模式下,如果事务日志自日志链建立后没有进行过日志备份,则备份最最后一次完整备份或差异备份后的所有日志,否则备份自上一次日志备份后的所有日志。默认情况下,日志备份后会截断日志,但如果不想截断日志,可以使用WITH COPY_ONLY选项。 事务日志备份属于增量备份。如果在事务日志备份包含的日志期间内,数据库被切换成大容量日志恢复模式,则事务日志备份会包含事务日志和该区间内大日志操作所修改的数据区,此事务日志备份还原时不能指定还原点。如果数据库一直处于完整恢复模式下生成的事务日志备份,还原时可以指定还原点进行还原。
--文件备份:在备份时指定文件或文件组进行备份。
--日志链:连续的日志备份序列称为“日志链”。日志链从数据库的完整备份开始,只有数据库再次切换到简单恢复模式才会破坏日志链,当数据库再次切换成完整恢复模式或大容量日志恢复模式后,断裂的日志链可以使用差异备份连接上,或可以使用完整备份开始一个新的日志链。
--尾日志: 自最后一次日志备份后产生的日志,为防止丢失,当对正在运行的数据库进行还原而不指定 REPLACE,会提示出错,此时可使用 BACK LOG WITH NORECOVERY来备份日志并将数据设置为还原状态。
完整备份和差异备份中会带有少量的事务日志以保持数据一致性(如果回滚未提交事务修改的数据),但完整备份和差异备份都不会截断日志。
完整备份和差异备份与日志备份三种备份可以同时运行,三者间不会影响。
在备份数据或备份日志时不会对数据加锁,但是由于备份会导致 IO压力,因此可能影响查询速度(看起来像数据被锁无法访问),在备份大事务日志操作产生的数据区时,备份会对文件加锁,以防止其他进程提交 CHECKPOINT.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现