suspect_pages 表位於 msdb 數據庫中,是在 SQL Server 2005 中引入的。用於維護有關可疑頁的信息的 suspect_pages
數據庫管理員負責管理表(主要通過刪除舊的行實現)。suspect_pages 表有大小限制,如果此表已滿,則不會記錄新的錯誤。若要防止此表填滿,數據庫管理員或系統管理員必須通過刪除行來手動清除此表中的舊條目。因此,我們建議您定期刪除或存檔 event_type 為已還原或已修復的行或具有舊 last_update 值的行。
若要監視對 suspect_pages 表執行的操作,可使用 Database Suspect Data Page 事件類。有時會因存在暫時性的錯誤向 suspect_pages 表添加行。如果正在向該表添加很多行,則 I/O 子系統可能出了問題。如果您注意到正向該表添加的行數突然增加,我們建議您檢查一下 I/O 子系統是不是出現了問題。
下表顯示了記錄在 suspect_pages 表的 event_type 列中的錯誤。
由操作系統 CRC 錯誤造成的 823 錯誤,或者校驗和錯誤或頁撕裂以外的 824 錯誤(例如,頁 ID 錯誤)
1
錯誤的校驗和
2
殘缺頁
3
已還原(頁在標記為錯誤後已還原)
4
已修復(DBCC 修復了頁)
5
已由 DBCC 釋放
7
暫時性的錯誤也會記錄在 suspect_pages 表中。暫時性錯誤的來源包含 I/O 錯誤(例如電纜斷開連接)或暫時未通過重復校驗和測試的頁。
數據庫引擎如何更新 suspect_pages 表
數據庫引擎對 suspect_pages 表執行下列操作:
如果表未滿,則每出現一個 824 錯誤,該表都會更新以指明出現了錯誤,且錯誤計數器也將相應遞增。
如果通過修復、還原或釋放操作修復後的頁仍有錯誤,則其 number_of_errors 計數將會遞增,其 last_update 列也會更新
列出的頁通過還原或修復操作修復之後,該操作將更新 suspect_pages 行,以指示此頁已修復 (event_type = 5) 或已還原 (event_type = 4)。
如果運行 DBCC 檢查,則該檢查會將所有未出錯頁標記為已修復 (event_type = 5) 或已釋放 (event_type = 7)。
自動更新 suspect_pages 表
嘗試讀取數據文件中的某一頁由於以下原因之一失敗後,數據庫鏡像伙伴將更新 suspect_pages 表。
由操作系統 CRC 錯誤導致的 823 錯誤。
824 錯誤(像頁撕裂這樣的邏輯損壞)。
以下操作將自動從 suspect_pages 表中刪除行。
ALTER DATABASE REMOVE FILE
DROP DATABASE
DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS 更新 suspect_pages 表,以指示已釋放或已修復的各頁。
RESTORE 也可更新該列表。完整還原、文件還原或頁面還原將頁面項標記為已還原。
恩,進入‘企業管理器’-》控制根目錄-》SQL server 組 -》打開對應的數據庫-》選中對應的數據庫 右鍵 “所有任務”-》‘備份數據庫’-》‘常規’》‘備份到’這裡添加一下,確認備份路徑,和備份後的文件名,。這一部做好後 點 ‘確定’
到你備份的路徑下面找到你備份生成的文件,把這個文件保存到磁盤上就可。
以後要使用這個數據庫,把這個文件還原到sql server2005 上,就可以獲取對應數據。
引用SQLServer幫助的信息:
此錯誤表明 Windows 報告已從磁盤成功讀取頁,但 SQL Server 檢測到頁中存在錯誤。此錯誤與錯誤 823 類似,只是 Windows 不檢測這一錯誤。這通常表明 I/O 子系統中存在問題,例如磁盤驅動器存在故障、磁盤固件存在問題、設備驅動程序不正確等等。
查找硬件故障
運行硬件診斷以解決任何問題。也可以通過檢查 Microsoft Windows 系統和應用程序日志以及 SQL Server 錯誤日志以查看是否存在由硬件故障引起的錯誤。解決這些日志中包含的所有與硬件相關的問題。如果存在持久性數據損壞問題,請嘗試改用其他的硬件組件來解決此問題。進行檢查以確保系統未啟用磁盤控制器上的寫緩存。如果您懷疑是寫緩存出現問題,請與硬件供應商聯系。最後,您可能會發現,切換到全新的硬件系統是解決問題的極佳途徑。此切換操作可能包括格式化磁盤驅動器和重新安裝操作系統。
如果出現的問題與硬件無關,並且已知的干淨備份可用,則請從備份中還原數據庫。
考慮將數據庫改為使用 PAGE_VERIFY CHECKSUM 選項。