CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

SQL Server小知识:CheckPoint

作者: DrillChina,  出处:blog, 责任编辑: 王晓晨, 
2008-08-07 08:10
  当SQL Server将一些被修改过的数据(术语叫Dirty Data)写回到磁盘后(这个操作的术语叫Flush),SQL Server会在日志中留下一个标记,以表示这个标记前的数据已经都被写到磁盘中了,而这个标记就叫做CheckPoint。

  前面说到Recovery Interval可以控制SQL Server在内存中保留多少被修改的数据。其实我们有一个问题没有讲。

  那就是内存中被修改的数据写回到磁盘后,也就意味着磁盘中的数据版本和日志中的数据操作已经同步了。当然也就意味着如果这个时候系统崩溃了,SQL Server就不需要再恢复了。

  不过如果真的这个时候崩溃了,那么SQL Server怎么知道这些日志操作的数据已经写到磁盘了呢,所以SQL Server还有一个概念。

  这个概念就是CheckPoint。

  当SQL Server将一些被修改过的数据(术语叫Dirty Data)写回到磁盘后(这个操作的术语叫Flush),SQL Server会在日志中留下一个标记,以表示这个标记前的数据已经都被写到磁盘中了,而这个标记就叫做CheckPoint。

  因此我们可以这么说,CheckPoint代表着一次Flush操作。

  SQL Server会在以下情况下触发CheckPoint,也就是进行Flush:

  SQL Server在正常停止服务的时候

  日志中需要进行恢复的操作要花费超过Recovery Interval的时间时

  SQL Server可用内存不足的情况下

  管理员手动递交CHECKPOINT命令的时候

  当日志文件中的数据超过70%ITPUB个人空间~4g8H1Z g,Q%];A

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i