在 sql server中有一个很是重要的命令就是checkPoint, 它主要做用是把缓存中的数据写入mdf文件。其实在咱们进行insert\update\delete 时,数据并无直接写入数据库对应的mdf文件 中,而是写入缓存里,sql
从上图能够直观的看出。只有当发生checkpoint时,数据才会被写入mdf数据文件。数据库
checkpoint 语法为:checkpoint【checkpoint_duration】,其中checkpoint_duration 是个int类型的整数值而且必须大于0,单位是秒,标识sql server 数据库引擎会在请求的持续时间内尝试执行检查点。若是省略该参数,sql server数据库引擎将自动调整检查点持续时间,以便最大程度地下降对数据库应用程序性能的影响。缓存
致使checkpoint检查点的事件:服务器
1. 在数据库备份以前,数据库引擎会自动执行检查点,以便在备份中包含对数据库页的所有更改。性能
2.日志的活动部分超出了服务器在recovery interval 服务器配置选项中指定的时间内能够恢复的大小。日志
3. 日志的70%已满,而且数据库处于日志截断模式。server
当下列条件都为true时,数据库就处于日志截断模式: 是巨款u使用的是最简单的恢复模式,而且在执行上一条引用数据库的backup database 语句后,发生下列事件之一:事件
在数据库中执行一项最小日志记录大容量赋值操做或一条最小日志记录的writetext 语句。it
执行一个数据库中添加或删除文件的alter database 语句。io
4. 中止服务器也会在服务器上的每一个数据库中发出一个检查点命令。下列中止sql server 的方法将每一个数据库执行检查点:
使用sql srver 配置管理器。
使用sql server managerment staudio。
使用shutdown 语句