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