SQL Server 監(jiān)控磁盤IO錯誤,msdb.dbo.suspect_pages
suspect_pages 表位于 msdb 數(shù)據(jù)庫中,是在 SQL Server 2005 中引入的。用于維護(hù)有關(guān)可疑頁的信息的 suspect_pages
數(shù)據(jù)庫管理員負(fù)責(zé)管理表(主要通過刪除舊的行實現(xiàn))。suspect_pages 表有大小限制,如果此表已滿,則不會記錄新的錯誤。若要防止此表填滿,數(shù)據(jù)庫管理員或系統(tǒng)管理員必須通過刪除行來手動清除此表中的舊條目。因此,我們建議您定期刪除或存檔 event_type 為已還原或已修復(fù)的行或具有舊 last_update 值的行。
若要監(jiān)視對 suspect_pages 表執(zhí)行的操作,可使用 Database Suspect Data Page 事件類。有時會因存在暫時性的錯誤向 suspect_pages 表添加行。如果正在向該表添加很多行,則 I/O 子系統(tǒng)可能出了問題。如果您注意到正向該表添加的行數(shù)突然增加,我們建議您檢查一下 I/O 子系統(tǒng)是不是出現(xiàn)了問題。
下表顯示了記錄在 suspect_pages 表的 event_type 列中的錯誤。
錯誤說明 | event_type 值 |
---|---|
由操作系統(tǒng) CRC 錯誤造成的 823 錯誤,或者校驗和錯誤或頁撕裂以外的 824 錯誤(例如,頁 ID 錯誤) |
1 |
錯誤的校驗和 |
2 |
殘缺頁 |
3 |
已還原(頁在標(biāo)記為錯誤后已還原) |
4 |
已修復(fù)(DBCC 修復(fù)了頁) |
5 |
已由 DBCC 釋放 |
7 |
暫時性的錯誤也會記錄在 suspect_pages 表中。暫時性錯誤的來源包含 I/O 錯誤(例如電纜斷開連接)或暫時未通過重復(fù)校驗和測試的頁。
數(shù)據(jù)庫引擎如何更新 suspect_pages 表
數(shù)據(jù)庫引擎對 suspect_pages 表執(zhí)行下列操作:
如果表未滿,則每出現(xiàn)一個 824 錯誤,該表都會更新以指明出現(xiàn)了錯誤,且錯誤計數(shù)器也將相應(yīng)遞增。
如果通過修復(fù)、還原或釋放操作修復(fù)后的頁仍有錯誤,則其 number_of_errors 計數(shù)將會遞增,其 last_update 列也會更新
列出的頁通過還原或修復(fù)操作修復(fù)之后,該操作將更新 suspect_pages 行,以指示此頁已修復(fù) (event_type = 5) 或已還原 (event_type = 4)。
如果運(yùn)行 DBCC 檢查,則該檢查會將所有未出錯頁標(biāo)記為已修復(fù) (event_type = 5) 或已釋放 (event_type = 7)。
自動更新 suspect_pages 表
嘗試讀取數(shù)據(jù)文件中的某一頁由于以下原因之一失敗后,數(shù)據(jù)庫鏡像伙伴將更新 suspect_pages 表。
由操作系統(tǒng) CRC 錯誤導(dǎo)致的 823 錯誤。
824 錯誤(像頁撕裂這樣的邏輯損壞)。
以下操作將自動從 suspect_pages 表中刪除行。
ALTER DATABASE REMOVE FILE
DROP DATABASE
DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS 更新 suspect_pages 表,以指示已釋放或已修復(fù)的各頁。
RESTORE 也可更新該列表。完整還原、文件還原或頁面還原將頁面項標(biāo)記為已還原。
- 查找sqlserver查詢死鎖源頭的方法 sqlserver死鎖監(jiān)控
- Windows下使用性能監(jiān)視器監(jiān)控SqlServer的常見指標(biāo)
- SQL Server中使用Trigger監(jiān)控存儲過程更改腳本實例
- 利用SQL Server數(shù)據(jù)庫郵件服務(wù)實現(xiàn)監(jiān)控和預(yù)警
- Sql Server 死鎖的監(jiān)控分析解決思路
- Zabbix監(jiān)控SQL Server服務(wù)狀態(tài)的方法詳解
- 通過Python實現(xiàn)對SQL Server 數(shù)據(jù)文件大小的監(jiān)控告警功能
- zabbix監(jiān)控sqlserver的過程詳解
- SQL Server服務(wù)器監(jiān)控
相關(guān)文章
動態(tài)SQL中返回數(shù)值的實現(xiàn)代碼
最近在做一個paypal抓取數(shù)據(jù)的程序,由于所有字段和paypal之間存在對應(yīng)映射的關(guān)系,所以所有的sql語句必須得拼接傳到存儲過程里去執(zhí)行2011-12-12遠(yuǎn)程連接阿里云SqlServer 2012 數(shù)據(jù)庫服務(wù)器的圖文教程
在使用 阿里云 上的一些產(chǎn)品時,遇到不少坑,安裝IIS 時,遇到因買的配置過低,虛擬內(nèi)存不足,而導(dǎo)致 IIS 總是安裝失敗,下面小編給大家分享遠(yuǎn)程連接阿里云SqlServer 2012 數(shù)據(jù)庫服務(wù)器的圖文教程,一起看看吧2017-09-09Sql Server 分組統(tǒng)計并合計總數(shù)及WITH ROLLUP應(yīng)用
WITH ROLLUP 在生成包含小計和合計的報表時,ROLLUP 運(yùn)算符很有用,ROLLUP 運(yùn)算符生成的結(jié)果集類似于 CUBE 運(yùn)算符所生成的結(jié)果集,接下來介紹Sql Server 分組統(tǒng)計并合計總數(shù)實現(xiàn)代碼,感興趣的朋友可以了解下哦2013-01-01異地遠(yuǎn)程訪問本地SQL Server數(shù)據(jù)庫
數(shù)據(jù)庫的重要性相信大家都有所了解,作為各種數(shù)據(jù)的電子資料夾,其中可能包含了各種信息,這篇文章就為大家介紹了如何使用cpolar內(nèi)網(wǎng)穿透,遠(yuǎn)程連接和操作SQL Server。2023-04-04