首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在完全恢复模式下,何时将缓冲区/事务日志更改应用于数据库数据页?

问在完全恢复模式下,何时将缓冲区/事务日志更改应用于数据库数据页?
EN

Database Administration用户
提问于 2018-10-15 09:16:32
回答 2查看 350关注 0票数 0

在进行更改时,将数据页从数据库数据文件中提取到缓冲区中,并对缓冲区页进行更改,并将更改写入事务日志。先写日志记录。在简单恢复模式下,缓冲区中的更改将应用于检查点处的数据库数据页。检查点从事务日志中刷新记录。因此,不能在此模式下进行事务日志备份。类似地,对于尚未进行完整备份的完整/批量恢复模型。

问题:一旦进行了第一次完全备份,对数据页的更改将如何以及何时写入完整/批量恢复模型中的数据库数据文件?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2018-10-15 09:59:08

根据服务器事务日志体系结构和管理指南,数据页首先在缓存中修改(逻辑写入)。无论数据库恢复模型如何,这种情况发生的方式都是相同的,只有日志记录细节的级别不同。创建包含修改的事务日志记录并写入日志缓冲区缓存。这些日志缓冲区总是在修改后的页面(预写日志记录)之前被物理地写入磁盘。

可以编写数据页。到磁盘由懒惰写入、急写和检查点进程。在相应的数据页被这些进程写入数据文件之前,日志缓冲区被刷新到磁盘。

事务日志缓冲区在以下情况下物理地写入磁盘:( 1)它们已满;( 2)在提交期间,当日志缓冲区包含持久事务的数据时;( 3)检查点;或( 4)上述进程之一将修改过的页写入磁盘。

票数 3
EN

Database Administration用户

发布于 2018-10-15 09:48:42

有两个将“脏”页写入磁盘的关键进程:惰性写入程序和检查点。

检查点

检查点以指定的间隔将脏页写入磁盘,可通过设置“恢复间隔(最小”进行配置。这样做的目的是在系统重新启动时减少碰撞恢复时间。检查点可以被授予手动,但通常由Server来维护。

懒散作家

当Server检测到内存压力时,延迟写入进程会将脏页写入磁盘。我认为这是由Server自行决定的,而且是不可配置的。

这里是一个很好的链接,可以更详细地描述这两个进程。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/220098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档