SQL Server检查点

Ano*_*op 7 sql-server checkpoint

任何人都可以解释SQL Server何时发出检查点?

Eri*_*ric 12

来自:http://msdn.microsoft.com/en-us/library/ms188748.asp

导致检查点的事件
在数据库备份之前,数据库引擎会自动执行检查点,以便对备份中包含对数据库页面的所有更改.此外,当出现以下任一情况时,检查点会自动发生:

  • 日志的活动部分超出了服务器可以在恢复间隔服务器配置选项中指定的时间内恢复的大小.
  • 日志变为70%已满,数据库处于log-truncate模式.当这两个条件都为TRUE时,数据库处于日志截断模式:数据库正在使用简单恢复模型,并且在执行引用数据库的最后一个BACKUP DATABASE语句后,会发生以下事件之一:

  • 在数据库中执行最少日志记录的操作,例如最小化记录的批量复制操作或执行最少记录的WRITETEXT
    语句.
    执行ALTER DATABASE语句,以
    添加或删除
    数据库中的文件.

此外,停止服务器会在服务器上的每个数据库中发出检查点.以下停止SQL Server的方法为每个数据库执行检查点:

使用SQL Server配置管理器.使用SQL Server Management Studio.使用SHUTDOWN语句.