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