Sql-Server-2016

可疑頁面中的條目但 checkdb 未顯示錯誤

  • November 18, 2019

我正在使用 Microsoft SQL Server 2016 (SP2-GDR) (KB4505220) - 13.0.5101.9 (X64) Jun 15 2019 23:15:58 版權所有 (c) Microsoft Corporation Standard Edition (64-bit) o​​n Windows Server 2012 R2 Standard 6.3 (建構 9600:)

昨天,我在同一數據庫的“suspect_pages”中有兩個條目。事件類型 1 和類型 2 之一

1 = 823 錯誤導致可疑頁面(例如磁碟錯誤)或 824 錯誤而不是錯誤校驗和或損壞頁面(例如錯誤頁面 ID)。

2 = 校驗和錯誤。

database_id file_id page_id eventtype   error_count last_update_date
8           1       1482057 1           1           2019-11-14 14:40
8           1       1482057 2           1           2019-11-14 14:40

我找到了相關的對象,它們都指向數據庫上的同一個表。

DBCC TRACEON (3604); DBCC PAGE (8, 1, 14823057, 0); DBCC TRACEOFF (3604);

我在損壞之前有一個有效的備份並且無法承受停機時間,所以我對損壞的數據庫進行了備份,並以新名稱恢復了我的備份。我刪除了損壞的表,然後從有效備份中重新創建了它。

今天,我恢復了昨天在測試伺服器上進行的損壞的數據庫備份,當我執行完整的 checkdb 時,它沒有檢測到損壞。

DBCC CheckDB() WITH No_INFOMSGS, ALL_ERRORMSGS

我從損壞的數據庫中獲取的備份(根據懷疑頁面)怎麼可能沒有任何問題?可疑頁面中的那些條目會是誤報嗎?

數據庫兼容級別為 130 (SQL 2016) 我們的 SQL Server 在 Windows Server 2012 上執行。

所以我寫信給 Brent Ozar,這是我從他那裡得到的答复。這是迄今為止我得到的最好的答案,所以我把它放在這裡:

這正是我在 SQL Server 報告損壞時所做的: https ://brentozar.com/go/corruption

Suspect_pages 不會誤報,但損壞可能已經修復(或者可能只是暫時損壞,例如當您第一次閱讀時儲存出現暫時性錯誤。)請務必遵循該清單並加註星標與 MS 的支持電話。

希望有幫助!布倫特

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