Sql-Server

頁面驗證模式是否會影響 DBCC CHECKDB 行為?

  • December 10, 2020

DB 頁面驗證模式(撕裂頁面與校驗和)是否會影響 DBCC CHECKDB 行為?有一些大型(TB)舊數據庫仍然使用 TORN 頁面檢測模式,並且好奇檢查數據庫是否基於頁面驗證模式工作得更好/更差/更慢/更快。

強烈建議設置數據庫使用Page Verify CHECKSUM。Checksum更安全,其性能成本仍然足夠小。正如本文所討論

當更改數據庫以使用 CHECKSUM 時,重要的是要知道該選項不適用於已寫入磁碟的頁面,因此它只會應用於寫入新頁面或修改現有頁面並重新寫入 IO 子系統。

關於 CHECKSUM 選項的一個常見誤解是它取代了對一致性檢查數據庫的需求。這是一個非常不正確的假設;正如我們已經看到的,CHECKSUM 錯誤僅在不一致頁面的讀取操作上報告,如果頁面未讀取,則不會報告錯誤。然而,最大的原因是 DBCC CHECKDB 常式在數據庫級別執行更徹底的檢查,並包括 CHECKSUM 根本無法涵蓋的檢查,因此最佳實踐是將 CHECKSUM 頁面驗證和正常一致性檢查結合起來。

引用自:https://dba.stackexchange.com/questions/281239