将页面验证模式从撕裂页面切换到校验和时,页面如何获取更新的校验和?

use*_*632 6 sql-server corruption sql-server-2014 checksum

有一个较旧但较大的数据库(在 san 上为 6tb),其页面验证选项仍设置为 TORN_PAGE_DETECTION。将页面验证更改为校验和模式时,如何将新的校验和应用于所有现有页面?对页面验证模式进行此更改时是否有任何需要注意的大开销?这是否需要在较长的维护窗口期间完成?

SQL 2014 当前数据库兼容级别 = 120

Aar*_*and 11

它不会一下子发生。当通过某些其他操作(例如插入或更新)修改每个页面时,它会独立更改。

这是精确完成的,因此此更改不会是数据大小操作。

当然,您可以通过重建来强制为给定的表立即执行,但是重建的巨大成本将是巨大的,因为无论如何您都在编写所有页面内容。将这些页面切换到校验和作为过程的一部分是一个几乎零成本的附加组件,例如如果您将孩子添加到拼车中,您会损失多少油耗。