mysql备份数据库事务日志_教你备份与恢复数据库(2)事务日志

一、预写事务日志(WAL)机制

1. 事务日志的作用

每个 SQL Server 数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改。

事务日志是数据库的重要组件,如果系统出现故障,则可能需要使用事务日志将数据库恢复到一致状态。 删除或移动事务日志以前,必须完全了解此操作带来的后果。

事务日志支持以下操作:

(1) 恢复个别的事务。

(2) 在 SQL Server 启动时恢复所有未完成的事务。

(3) 在还原的数据库、文件、文件组或页时,前滚至故障点。

(4) 支持高可用性、灾难恢复、复制等解决方案:AlwaysOn 可用性组、数据库镜像、日志传送、事务复制等。可以认为传输事务日志记录的成本很低,远远低于传输数据页面(以64KB)的成本。

2. 预写事务日志  需要修改数据时,SQL Server先将数据所在的数据页面读入到内存的缓冲区,然后修改缓冲区里面的数据并记录到日志文件中,最后再将“脏页”回写到硬盘上的数据页面。一般情况下,是由检查点(Checkpoint)负责回写“脏页”。

5a597789c99ddadcaf5e78b8c4dc9fcc.png

1f5172578d22e71b3c3fdf3471d778b6.png

d86a14d709909a81d23c9d91fc1d2804.gif 预写事务日志.png (35.72 KB)

2013-10-29 14:12

二、截断事务日志

必须定期截断事务日志以避免它被填满。 但是,一些因素可能延迟日志截断,因此监视日志大小很重要。 某些操作可以最小日志量进行记录以减少其对事务日志大小的影响。

日志截断释放日志文件的空间,以便由事务日志重新使用。 日志截断主要用于阻止日志填充。

日志截断从 SQL Server 数据库的逻辑事务日志中删除“不活动的”虚拟日志文件,释放逻辑日志中的空间以便物理事务日志重用这些空间。 如果事务日志从不截断,它最终将填满分配给物理日志文件的所有磁盘空间。

日志截断并不减小物理日志文件的大小。 若要减少物理日志文件的物理大小,需要收缩日志文件。

三、最小化事务日志

某些操作可以最小日志量进行记录以减少其对事务日志大小的影响。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页