数据库checkpoint得理解

检查点会写出自上次检查点以来更改的所有数据页。到磁盘。检查点的目标是减少 SQL 服务器执行滚动和回滚操作所需的时间。作为其中的一部分,它确保所有脏页都写到磁盘上,因此当 SQL Server 在灾难或其他原因之后重新启动时,Sql 服务器需要完成的工作量将最大限度地减少数据库电流。 在正常操作期间,所有数据更改都直接写入内存中的数据页面。这些更改需要写入磁盘 (MDF 和 LDF) 文件。在繁忙的数据库服务器上,如果检查点在较长时间内不发生,则内存中将有许多脏页。如果这样的数据库遇到意外的重新启动(或其他灾难的),所有在内存中的脏页面丢失(不是真的。。。SQL 更聪明)。检查点从两个方面将这一点最小化1.通过定期将页面写到磁盘中,则所有数据更改都是安全的。2. 在此类灾难期间仍处于内存中的脏页(并且丢失)需要使用事务性日志文件 (LDF) 中的条目重新播放。1.滚向前帮助重播已提交但尚未写入磁盘的事务。2.回滚有助于删除写入磁盘但未提交的事务。3.对于大型和繁忙的数据库,将有许多此类事务,因此在灾难发生后使数据库恢复运行的持续时间更长。通过经常将页面写到磁盘上,检查点有助于最大限度地减少这种情况。

refer to the Link:
https://sqltimes.wordpress.com/2014/05/03/sql-server-difference-between-checkpoint-lazy-writer-and-log-flush/2: https://sqltimes.wordpress.com/2014/07/05/sql-server-error-messages-the-transaction-log-for-database-tempdb-is-full-due-to-active_transaction/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值