Checkpoint是实例级别还是数据库级别?

答:数据库级别,在SQL Server关闭时,会对所有数据库逐一提交checkpoint

 

测试代码

USE DB0002

GO

CHECKPOINT

GO

SELECT * INTO TB1001 FROM sys.all_columns

GO

SELECT COUNT(1) FROM sys.dm_os_buffer_descriptors

WHERE is_modified=1

AND database_id=DB_ID()

GO

USE DB005

GO

CHECKPOINT

GO

USE DB0002

GO

SELECT COUNT(1) FROM sys.dm_os_buffer_descriptors

WHERE is_modified=1

AND database_id=DB_ID()

GO

 

CHECKPOINT前后DB0002的脏页数据一样

----------------------------------------------------------------------------------

CHECKPOINT会将未提交数据写入磁盘么?

答案:会,CHECKPOINT提交时,将标记所有脏页并写入到磁盘中,不考虑是否有未提交数据,对未提交的数据由日志负责处理(UNDO)

 

 

 

相关文章:

  • 2021-10-19
  • 2021-06-15
  • 2021-11-15
  • 2021-05-22
  • 2021-04-11
  • 2021-10-20
  • 2022-01-03
  • 2022-01-07
猜你喜欢
  • 2022-12-23
  • 2021-10-22
  • 2021-08-17
  • 2021-12-19
  • 2021-09-22
相关资源
相似解决方案