DBCC DROPCLEANBUFFERS交易安全吗?

时间:2018-05-30 09:52:16

标签: sql-server

我在执行DBCC DROPCLEANBUFFERS之前执行CHECKPOINT只是为了在我意识到内存中可能有脏页面时终止执行查询。建议在CHECKPOINT之前运行DROPCLEANBUFFERS将任何脏页写入磁盘。由于它是一个黑盒机,我不知道缓存了什么数据,即使我停止查询完成,我是否会丢失任何数据?

1 个答案:

答案 0 :(得分:1)

这不会是个问题。 DBCC DROPCLEANBUFFERS仅从缓冲区缓存中删除干净缓冲区。 DBCC DROPCLEANBUFFERS不会删除脏页面(已修改的页面)。

另一方面,CHECKPOINT将脏页(已修改的页)写入磁盘。因此,它不适用于缓冲区缓存中的Clean缓冲区。

通常,建议先发出CHECKPOINT将脏页写入磁盘,这样缓冲区缓存中只有干净的缓冲区。然后发出DBCC DROPCLEANBUFFERS,它会删除所有缓冲区在缓冲区缓存中。

您可以在MSDN

了解详情
相关问题