Lazy Writer&CheckPoint

Lazy Writer存在的目的是对缓冲区进行管理。当缓冲区达到某一临界值时,Lazy Writer会将缓冲区内的脏页存入磁盘文件中,而将未修改的页释放并回收资源。

CheckPoint或Lazy Writer通过将日志文件末尾的LSN号和缓冲区中数据文件的LSN进行对比,只有缓冲区内LSN号小于日志文件末尾的LSN号的数据才会被写入到磁盘中的数据库。因此确保了WAL(Write-Ahead logging在数据写入到数据库之前,先写入日志)。

CheckPoint会将所有缓冲区的脏页写入磁盘,不管脏页中的数据是否已经Commit。这意味着有可能已经写入磁盘的“脏页”会在之后回滚(RollBack).不过不用担心,如果数据回滚,SQL Server会将缓冲区内的页再次修改,并写入磁盘。

恢复间歇的默认参数是0,意味着由SQL Server来管理这个回复间隔。而自己设置恢复间隔也是需要根据具体情况来进行界定。更短的恢复间歇意味这更短的恢复时间和更多的磁盘IO,而更长的恢复间歇则带来更少的磁盘IO占用和更长的恢复时间.

时间: 2024-08-07 00:18:49

Lazy Writer&CheckPoint的相关文章

sqlserver内存管理之lazy writer

任何在缓冲区被修改的页都会被标记为“脏”页.将这个脏页写入到数据磁盘就是CheckPoint或者Lazy Writer的工作.前面就大体说了一下checkpoint,这会就简单的理解一下这个lazy writer. Lazy Writer存在的目的是对缓冲区进行管理.当缓冲区达到某一临界值时,Lazy Writer会将缓冲区内的脏页存入磁盘文件中,而将未修改的页释放并回收资源. 我们知道,当执行一条语句的时候 比如: begin  tran insert  into table_name(age

转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了

简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间点.当SQL Server运转良好时,多了解一些事务日志的原理和概念显得并不是那么重要.但是,一旦SQL SERVER发生崩溃时,了解事务日志的原理和概念对于快速做出正确的决策来恢复数据显得尤为重要.

使用邮件发送运行时间久的SQL语句

ALTER proc [dbo].[usp_EmailLongRunningSQL] as begin [email protected] AS TABLE ( lrqId int IDENTITY(1,1) PRIMARY KEY, spid int NULL, batch_duration bigintNULL, program_namenvarchar(500) NULL, hostname nvarchar(100) NULL, loginame nvarchar(100) NULL,

浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色

浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色 本篇文章是系列文章中的第二篇,以防你还没有看过第一篇.上一篇的文章地址如下: 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 简介 每一个SQL Server的数据库都会按照其修改数据(insert,update,delete)的顺序将对应的日志记录到日志文件.SQL Server使用了Write-Ahead logging技术来保证了事务日志的原子性和持久性.而这项技术不仅仅保证了ACID

[SQL Server]内存缓存数据写入磁盘(一)首部曲

很少扎实的实践SQL Server Database Engine内部的行为,最近发现某个客户的性能瓶颈可能在Transaction log的I/O,同时另外一家客户正在导入保存厂商异地备援(DR site)的解决方案(不打算用AlwaysOn传送到异地),由于保护的是磁盘资源,我们需要确保磁盘上的mdf.ndf与ldf的一致性. 来笔记Buffer Flush To Disk读书心得以及SQL2012/2014/SQL2016相关的新古与全新功能. 维持ACID的完整性(Atomicity)及

Performance Monitor4:监控SQL Server的IO性能

SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Application创建IO请求,到Disk完成IO请求的时间延迟.如果物理Disk不能及时完成IO请求,跟不上请求负载的速度,那么SQL Server就容易出现性能问题.SQL Server内部在执行一些特定的操作时,会和Disk做读写交互,这也会影响物理硬盘响应SQL Server的IO请求的性能,使查询进程处

性能调优之:缓存

在执行任何查询时,SQL Server都会将数据读取到内存,数据使用之后,不会立即释放,而是会缓存在内存Buffer中,当再次执行相同的查询时,如果所需数据全部缓存在内存中,那么SQL Server不会产生Disk IO操作,立即返回查询结果,这是SQL Server的性能优化机制. 一,主要的内存消费者(Memory Consumer) 1,数据缓存(Data Cache) Data Cache是存储数据页(Data Page)的缓冲区,当SQL Server需要读取数据文件(File)中的数

SQL Server 服务器磁盘测试之SQLIO篇(二)

上次放出了一篇文章,针对磁盘卷簇大小默认4KB和自定义64KB进行了测试,测试内容为随机和顺序读写,大小为8KB和64KB,有人觉得这并没有照顾到SQL Server所有的IO使用情景.这篇测试文章,我们就来尽可能模拟一下SQL Server IO的行为,全方位对簇大小4KB.8KB和64KB做一次验证,注意:本次我们增加了簇为8KB的大小. 重点说明:本测试使用的是两块SSD组成的RAID1 首先,我们先来分析SQL Server的IO行为,参考网址:Choosing what SQLIO t

009_备份

--------------------------有四种备份方式----------------------- --**************************************************** --1.完整数据库备份 --用BACKUP DATABASE命令备份 --例:BACKUP DATABASE教学管理TO W1 WITH INIT --eg: --完整数据库备份设备 exec sp_addumpdevice @devtype=N'disk',@logical