SQL Server誤區(qū)30日談 第17天 有關(guān)頁(yè)校驗(yàn)和的誤區(qū)
誤區(qū) #17:幾個(gè)有關(guān)頁(yè)校驗(yàn)和的誤區(qū)
坊間流傳的基本是錯(cuò)誤的
17 a)頁(yè)校驗(yàn)和(Page CheckSum)在從SQL Server 2000或7.0升級(jí)上來(lái)之后自動(dòng)開(kāi)啟
其實(shí)不是,從舊的實(shí)例升級(jí)上來(lái)的數(shù)據(jù)庫(kù)不會(huì)自動(dòng)開(kāi)啟頁(yè)校驗(yàn)和,除非你顯式使用ALTER DATABASE databasename SET PAGE_VERIFY CHECKSUM進(jìn)行開(kāi)啟。而在SQL Server 2005或2008新建的數(shù)據(jù)庫(kù)頁(yè)校驗(yàn)和是默認(rèn)開(kāi)啟的。
17 b)頁(yè)校驗(yàn)和可以糾正錯(cuò)誤
頁(yè)校驗(yàn)和只能發(fā)現(xiàn)錯(cuò)誤,而不是像網(wǎng)絡(luò)協(xié)議中的CRC校驗(yàn)碼那樣可以糾正一位錯(cuò)誤。
17 c)當(dāng)開(kāi)啟頁(yè)校驗(yàn)和之后會(huì)開(kāi)始為數(shù)據(jù)庫(kù)中的每一頁(yè)加上頁(yè)校驗(yàn)和。
錯(cuò)誤,實(shí)際上當(dāng)開(kāi)啟頁(yè)校驗(yàn)和之后不會(huì)有任何線程在前臺(tái)或是后臺(tái)來(lái)修改頁(yè)。只有當(dāng)你重建索引或是修改頁(yè)的時(shí)候,頁(yè)校驗(yàn)和才會(huì)加到頁(yè)中。
17 d)對(duì)頁(yè)進(jìn)行讀取就可以將校驗(yàn)和加到頁(yè)中
錯(cuò)誤,只要將頁(yè)讀取到內(nèi)存之后并進(jìn)行修改,然后寫(xiě)回磁盤(pán)時(shí),才能夠?qū)㈨?yè)校驗(yàn)和加入頁(yè)。
17 e)當(dāng)數(shù)據(jù)庫(kù)的頁(yè)驗(yàn)證模式由torn-page detection方式改為頁(yè)校驗(yàn)和方式之后,所有的torn-page detection信息都會(huì)丟失
錯(cuò)誤,每一個(gè)頁(yè)都知道自己的保護(hù)模式是torn-page detection,頁(yè)校驗(yàn)和或是完全沒(méi)有。正如之前所說(shuō),只有頁(yè)被修改之后其頁(yè)驗(yàn)證方式才會(huì)被修改(譯者注:也就是說(shuō)一個(gè)數(shù)據(jù)庫(kù)可以存在某些頁(yè)是torn-page detection,另一些頁(yè)是頁(yè)校驗(yàn)和方式)。我有一篇文章更詳細(xì)的闡述了這部分內(nèi)容:Inside The Storage Engine: Does turning on page checksums discard any torn-page protection?。
17 f)頁(yè)校驗(yàn)和可以在發(fā)生錯(cuò)誤時(shí)馬上檢測(cè)到
這個(gè)誤區(qū)是由SQL Server MVP Gail Shaw 提示我進(jìn)行揭示的。當(dāng)然也是錯(cuò)誤的,受損的頁(yè)在讀入到內(nèi)存的buffer pool進(jìn)行有效性驗(yàn)證之前,是不會(huì)被發(fā)現(xiàn)的。
- SQL Server誤區(qū)30日談 第29天 有關(guān)堆碎片的誤區(qū)
- SQL Server誤區(qū)30日談 第28天 有關(guān)大容量事務(wù)日志恢復(fù)模式的誤區(qū)
- SQL Server誤區(qū)30日談 第27天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB
- SQL Server誤區(qū)30日談 第26天 SQL Server中存在真正的“事務(wù)嵌套”
- SQL Server誤區(qū)30日談 第25天 有關(guān)填充因子的誤區(qū)
- SQL Server誤區(qū)30日談 第24天 26個(gè)有關(guān)還原(Restore)的誤區(qū)
- SQL Server誤區(qū)30日談 第23天 有關(guān)鎖升級(jí)的誤區(qū)
- SQL Server誤區(qū)30日談 第22天 資源調(diào)控器可以調(diào)控IO
- SQL Server誤區(qū)30日談 第21天 數(shù)據(jù)損壞可以通過(guò)重啟SQL Server來(lái)修復(fù)
- SQL Server誤區(qū)30日談 第20天 破壞日志備份鏈之后,需要一個(gè)完整備份來(lái)重新開(kāi)始日志鏈
- SQL Server誤區(qū)30日談 第19天 Truncate表的操作不會(huì)被記錄到日志
- SQL Server誤區(qū)30日談 第18天 有關(guān)FileStream的存儲(chǔ),垃圾回收以及其它
- SQL Server誤區(qū)30日談 第16天 數(shù)據(jù)的損壞和修復(fù)
- SQL Server誤區(qū)30日談 第15天 CheckPoint只會(huì)將已提交的事務(wù)寫(xiě)入磁盤(pán)
- SQL Server誤區(qū)30日談 第14天 清除日志后會(huì)將相關(guān)的LSN填零初始化
- SQL Server誤區(qū)30日談 第13天 在SQL Server 2000兼容模式下不能使用DMV
- SQL Server誤區(qū)30日談 第12天 TempDB的文件數(shù)和需要和CPU數(shù)目保持一致
- SQL Server誤區(qū)30日談 第11天 鏡像在檢測(cè)到故障后瞬間就能故障轉(zhuǎn)移
- SQL Server誤區(qū)30日談 第10天 數(shù)據(jù)庫(kù)鏡像在故障發(fā)生后 馬上就能發(fā)現(xiàn)
- SQL Server誤區(qū)30日談 第9天 數(shù)據(jù)庫(kù)文件收縮不會(huì)影響性能
- SQL Server誤區(qū)30日談 第8天 有關(guān)對(duì)索引進(jìn)行在線操作的誤區(qū)
- SQL Server誤區(qū)30日談 第7天 一個(gè)實(shí)例多個(gè)鏡像和日志傳送延遲
- SQL Server誤區(qū)30日談 第6天 有關(guān)NULL位圖的三個(gè)誤區(qū)
- SQL Server誤區(qū)30日談 第5天 AWE在64位SQL SERVER中必須開(kāi)啟
- SQL Server誤區(qū)30日談 第4天 DDL觸發(fā)器就是INSTEAD OF觸發(fā)器
- SQL Server誤區(qū)30日談 第3天 即時(shí)文件初始化特性可以在SQL Server中開(kāi)啟和關(guān)閉
- SQL Server誤區(qū)30日談 第2天 DBCC CHECKDB會(huì)導(dǎo)致阻塞
- SQL Server誤區(qū)30日談 第1天 正在運(yùn)行的事務(wù)在服務(wù)器故障轉(zhuǎn)移后繼續(xù)執(zhí)行
- SQL Server誤區(qū)30日談 第30天 有關(guān)備份的30個(gè)誤區(qū)
相關(guān)文章
sum(case when then)(判斷男女生的個(gè)數(shù))
判斷類(lèi)似一個(gè)班級(jí)的男生和女生的人數(shù)使用sum (cese when then)示例代碼如下,感興趣的朋友可以參考下2013-09-09sqlserver數(shù)據(jù)庫(kù)使用存儲(chǔ)過(guò)程和dbmail實(shí)現(xiàn)定時(shí)發(fā)送郵件
這篇文章主要介紹了sqlserver數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程和Job實(shí)現(xiàn)定時(shí)從數(shù)據(jù)庫(kù)發(fā)送郵件的功能,大家參考使用吧2014-01-01SQLServer數(shù)據(jù)庫(kù)誤操作恢復(fù)的方法
本文主要介紹了SQLServer數(shù)據(jù)庫(kù)誤操作恢復(fù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01SQLSERVER收集語(yǔ)句運(yùn)行的統(tǒng)計(jì)信息并進(jìn)行分析
例如語(yǔ)句的編譯時(shí)間、執(zhí)行時(shí)間、做了多少次磁盤(pán)讀等,如果DBA能夠把問(wèn)題語(yǔ)句單獨(dú)測(cè)試運(yùn)行,可以在運(yùn)行前打開(kāi)下面這三個(gè)開(kāi)關(guān),收集語(yǔ)句運(yùn)行的統(tǒng)計(jì)信息。這些信息對(duì)分析問(wèn)題很有價(jià)值,感興趣的朋友可以了解下2013-01-01SQL語(yǔ)句分組獲取記錄的第一條數(shù)據(jù)的方法
SQL語(yǔ)句分組獲取記錄的第一條數(shù)據(jù)的方法,使用Northwind 數(shù)據(jù)庫(kù)為例子2012-07-07同一個(gè)sql語(yǔ)句 連接兩個(gè)數(shù)據(jù)庫(kù)服務(wù)器
在sqlserver查詢(xún)分析器中,一個(gè)sql語(yǔ)句連接兩個(gè)數(shù)據(jù)庫(kù)服務(wù)器的一種方法2009-08-08