SQL Server誤區(qū)30日談 第17天 有關(guān)頁校驗和的誤區(qū)
誤區(qū) #17:幾個有關(guān)頁校驗和的誤區(qū)
坊間流傳的基本是錯誤的
17 a)頁校驗和(Page CheckSum)在從SQL Server 2000或7.0升級上來之后自動開啟
其實不是,從舊的實例升級上來的數(shù)據(jù)庫不會自動開啟頁校驗和,除非你顯式使用ALTER DATABASE databasename SET PAGE_VERIFY CHECKSUM進(jìn)行開啟。而在SQL Server 2005或2008新建的數(shù)據(jù)庫頁校驗和是默認(rèn)開啟的。
17 b)頁校驗和可以糾正錯誤
頁校驗和只能發(fā)現(xiàn)錯誤,而不是像網(wǎng)絡(luò)協(xié)議中的CRC校驗碼那樣可以糾正一位錯誤。
17 c)當(dāng)開啟頁校驗和之后會開始為數(shù)據(jù)庫中的每一頁加上頁校驗和。
錯誤,實際上當(dāng)開啟頁校驗和之后不會有任何線程在前臺或是后臺來修改頁。只有當(dāng)你重建索引或是修改頁的時候,頁校驗和才會加到頁中。
17 d)對頁進(jìn)行讀取就可以將校驗和加到頁中
錯誤,只要將頁讀取到內(nèi)存之后并進(jìn)行修改,然后寫回磁盤時,才能夠?qū)㈨撔r灪图尤腠摗?/P>
17 e)當(dāng)數(shù)據(jù)庫的頁驗證模式由torn-page detection方式改為頁校驗和方式之后,所有的torn-page detection信息都會丟失
錯誤,每一個頁都知道自己的保護(hù)模式是torn-page detection,頁校驗和或是完全沒有。正如之前所說,只有頁被修改之后其頁驗證方式才會被修改(譯者注:也就是說一個數(shù)據(jù)庫可以存在某些頁是torn-page detection,另一些頁是頁校驗和方式)。我有一篇文章更詳細(xì)的闡述了這部分內(nèi)容:Inside The Storage Engine: Does turning on page checksums discard any torn-page protection?。
17 f)頁校驗和可以在發(fā)生錯誤時馬上檢測到
這個誤區(qū)是由SQL Server MVP Gail Shaw 提示我進(jìn)行揭示的。當(dāng)然也是錯誤的,受損的頁在讀入到內(nèi)存的buffer pool進(jìn)行有效性驗證之前,是不會被發(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個有關(guān)還原(Restore)的誤區(qū)
- SQL Server誤區(qū)30日談 第23天 有關(guān)鎖升級的誤區(qū)
- SQL Server誤區(qū)30日談 第22天 資源調(diào)控器可以調(diào)控IO
- SQL Server誤區(qū)30日談 第21天 數(shù)據(jù)損壞可以通過重啟SQL Server來修復(fù)
- SQL Server誤區(qū)30日談 第20天 破壞日志備份鏈之后,需要一個完整備份來重新開始日志鏈
- SQL Server誤區(qū)30日談 第19天 Truncate表的操作不會被記錄到日志
- SQL Server誤區(qū)30日談 第18天 有關(guān)FileStream的存儲,垃圾回收以及其它
- SQL Server誤區(qū)30日談 第16天 數(shù)據(jù)的損壞和修復(fù)
- SQL Server誤區(qū)30日談 第15天 CheckPoint只會將已提交的事務(wù)寫入磁盤
- SQL Server誤區(qū)30日談 第14天 清除日志后會將相關(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天 鏡像在檢測到故障后瞬間就能故障轉(zhuǎn)移
- SQL Server誤區(qū)30日談 第10天 數(shù)據(jù)庫鏡像在故障發(fā)生后 馬上就能發(fā)現(xiàn)
- SQL Server誤區(qū)30日談 第9天 數(shù)據(jù)庫文件收縮不會影響性能
- SQL Server誤區(qū)30日談 第8天 有關(guān)對索引進(jìn)行在線操作的誤區(qū)
- SQL Server誤區(qū)30日談 第7天 一個實例多個鏡像和日志傳送延遲
- SQL Server誤區(qū)30日談 第6天 有關(guān)NULL位圖的三個誤區(qū)
- SQL Server誤區(qū)30日談 第5天 AWE在64位SQL SERVER中必須開啟
- SQL Server誤區(qū)30日談 第4天 DDL觸發(fā)器就是INSTEAD OF觸發(fā)器
- SQL Server誤區(qū)30日談 第3天 即時文件初始化特性可以在SQL Server中開啟和關(guān)閉
- SQL Server誤區(qū)30日談 第2天 DBCC CHECKDB會導(dǎo)致阻塞
- SQL Server誤區(qū)30日談 第1天 正在運行的事務(wù)在服務(wù)器故障轉(zhuǎn)移后繼續(xù)執(zhí)行
- SQL Server誤區(qū)30日談 第30天 有關(guān)備份的30個誤區(qū)
相關(guān)文章
SQL Server提示"選定的用戶擁有對象,所以無法除去該用戶”
今天在幫朋友弄一臺服務(wù)器的時候當(dāng)我需要刪除一個數(shù)據(jù)庫里的用戶時,提示如下錯誤信息: "選定的用戶擁有對象,所以無法除去該用戶" 如何解決呢?2009-04-04
SQL批量插入數(shù)據(jù)幾種方案的性能詳細(xì)對比
昨天下午快下班的時候,無意中聽到公司兩位同事在探討批量向數(shù)據(jù)庫插入數(shù)據(jù)的性能優(yōu)化問題,頓時來了興趣,把自己的想法向兩位同事說了一下,于是有了本文。2010-03-03
Sql Server 如何去掉內(nèi)容里面的Html標(biāo)簽
這篇文章主要介紹了Sql Server 去掉內(nèi)容里邊的Html標(biāo)簽的實現(xiàn)方法,代碼超簡單,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05
SQL SERVER連線查詢數(shù)據(jù)源IP地址及開啟SQL的IP地址連線方法
這篇文章主要介紹了SQL SERVER連線查詢數(shù)據(jù)源IP地址及開啟SQL的IP地址連線方法,文中通過圖文結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2024-06-06
解讀SQL一些語句執(zhí)行后出現(xiàn)異常不會回滾的問題
這篇文章主要介紹了解讀SQL一些語句執(zhí)行后出現(xiàn)異常不會回滾的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
sql server 2000阻塞和死鎖問題的查看與解決方法
在實際引用當(dāng)中,數(shù)據(jù)庫阻塞和死鎖在程序開發(fā)過程經(jīng)常出現(xiàn),下面通過介紹數(shù)據(jù)庫阻塞和數(shù)據(jù)庫死鎖,并提供查看和解決阻塞和死鎖的方法2014-01-01
SQL order by ID desc/asc加一個排序的字段解決查詢慢問題
解決方法就是在order by ID desc再加一個排序的字段,這樣子可能會把速度提高很多,需要朋友可以試一下2012-12-12
SQL Server實現(xiàn)split函數(shù)分割字符串功能及用法示例
這篇文章主要介紹了SQL Server實現(xiàn)split函數(shù)分割字符串功能及用法,結(jié)合實例形式分析了SQL Server實現(xiàn)split分割字符串的相關(guān)技巧與使用方法,需要的朋友可以參考下2016-08-08
SQLServer恢復(fù)表級數(shù)據(jù)詳解
這篇文章主要介紹了SQLServer中用于快速恢復(fù)表,而不是庫,但是切記,防范總比亡羊補(bǔ)牢好,需要的朋友可以參考下2014-08-08

