亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQL Server誤區(qū)30日談 第2天 DBCC CHECKDB會(huì)導(dǎo)致阻塞

 更新時(shí)間:2013年01月09日 18:46:54   作者:  
在SQL Server 2000中,這個(gè)命令阻止事務(wù)日志截?cái)鄬?huì)導(dǎo)致日志不正常增長的相關(guān)問題,但對于SQL Server 2005來說,這個(gè)命令就會(huì)導(dǎo)致快照相關(guān)的問題(具體請往下看)。

誤區(qū) #2: DBCC CHECKDB會(huì)引起阻塞,因?yàn)檫@個(gè)命令默認(rèn)會(huì)加鎖

這是錯(cuò)誤的!

    在SQL Server 7.0以及之前的版本中,DBCC CHECKDB命令的本質(zhì)是C語言實(shí)現(xiàn)的一個(gè)不斷嵌套循環(huán)的代碼并對表加表鎖(循環(huán)嵌套算法時(shí)間復(fù)雜度是嵌套次數(shù)的N次方,作為程序員的你懂得),這種方式并不和諧,并且…..

    在SQL Server 2000時(shí)代,一個(gè)叫Steve Lindell的哥們(現(xiàn)在仍然在SQL Server Team)使用分析事務(wù)日志的方法來檢查數(shù)據(jù)庫的一致性的方式重寫了DBCC CHECKDB命令。DBCC CHECKDB會(huì)阻止截?cái)嗳罩尽.?dāng)將日志從頭讀到尾時(shí),在事務(wù)日志內(nèi)部進(jìn)行了某種Recovery操作,這實(shí)際上是另一種全新的實(shí)現(xiàn)Recovery的代碼,但是僅限于CHECKDB命令內(nèi)部。但這種方式依然存在問題,比如這個(gè)命令存在檢查失敗的可能性,如果檢查失敗,你還需要重新執(zhí)行它看是否還會(huì)出現(xiàn)同樣的錯(cuò)誤。并且有時(shí)候,這個(gè)命令還會(huì)使用SCH_S鎖,索然這個(gè)鎖僅僅阻塞表掃描和表構(gòu)架的改變,但通過日志來檢查一致性的代碼也并不是盡善盡美,并且…..

    在SQL Server 2005時(shí)代,一個(gè)叫Paul Randal的家伙(譯者:也就是本文作者)再次重寫了DBCC CHECKDB命令。這次使用數(shù)據(jù)庫快照來檢查一致性(因?yàn)閿?shù)據(jù)庫快照會(huì)提供在數(shù)據(jù)庫某一特定時(shí)間點(diǎn)的一致性視圖),因此不再有事務(wù)日志的分析代碼,不再有任何的鎖--因?yàn)樵L問數(shù)據(jù)庫快照不需要對原數(shù)據(jù)庫加任何的鎖,緩沖池會(huì)自動(dòng)處理可能出現(xiàn)的資源爭用。

   

    如果想了解更多內(nèi)幕消息,你可以閱讀下面的文章:

    現(xiàn)在,在任何SQL Server版本中,如果你依然使用WITH TABLOCK提示,那將會(huì)產(chǎn)生表鎖來保證事務(wù)的一致性。但我不推薦這種方式。因?yàn)檫@種方式不僅需要更長的時(shí)間,還將會(huì)嘗試對數(shù)據(jù)庫加排他鎖,但已經(jīng)活動(dòng)在數(shù)據(jù)庫的連接有可能導(dǎo)致這種方式失敗。

    在SQL Server 2000中,這個(gè)命令阻止事務(wù)日志截?cái)鄬?huì)導(dǎo)致日志不正常增長的相關(guān)問題,但對于SQL Server 2005來說,這個(gè)命令就會(huì)導(dǎo)致快照相關(guān)的問題(具體請看上面的鏈接)。

    但是在默認(rèn)情況下,自從SQL SERVER 2000之后,DBCC CHECKDB不會(huì)再產(chǎn)生阻塞。

相關(guān)文章

  • SQL語句(T-SQL匯總) 用T-SQL畫出這些圖形

    SQL語句(T-SQL匯總) 用T-SQL畫出這些圖形

    今天和大家一起來分享一下SQL語句,T-SQL的用法和語法,以及一些例子,目的是幫助大家一起來復(fù)習(xí)一下T-SQL的基本語句,以便在項(xiàng)目中更快速的運(yùn)用,當(dāng)然對于新手來說就更應(yīng)該去學(xué)習(xí)和總結(jié)了
    2012-07-07
  • 獲取SqlServer存儲(chǔ)過程定義的三種方法

    獲取SqlServer存儲(chǔ)過程定義的三種方法

    這篇文章主要介紹了獲取SqlServer存儲(chǔ)過程定義的三種方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 淺析SQL Server的聚焦使用索引和查詢執(zhí)行計(jì)劃

    淺析SQL Server的聚焦使用索引和查詢執(zhí)行計(jì)劃

    本文通過介紹默認(rèn)使用索引、強(qiáng)制使用聚集索引、強(qiáng)制使用非聚集索引讓我們知道對于檢索所有列結(jié)果集使用主鍵的聚集索引是最佳選擇。有興趣的朋友可以看下
    2016-12-12
  • SQL Server實(shí)現(xiàn)分頁方法介紹

    SQL Server實(shí)現(xiàn)分頁方法介紹

    這篇文章介紹了SQL Server實(shí)現(xiàn)分頁的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 驗(yàn)證SQL保留字

    驗(yàn)證SQL保留字

    驗(yàn)證SQL保留字...
    2006-07-07
  • 淺談SQLServer的ISNULL函數(shù)與Mysql的IFNULL函數(shù)用法詳解

    淺談SQLServer的ISNULL函數(shù)與Mysql的IFNULL函數(shù)用法詳解

    本篇文章是對SQLServer的ISNULL函數(shù)與Mysql的IFNULL函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 索引的原理及索引建立的注意事項(xiàng)

    索引的原理及索引建立的注意事項(xiàng)

    聚集索引,數(shù)據(jù)實(shí)際上是按順序存儲(chǔ)的,數(shù)據(jù)頁就在索引頁上。就好像參考手冊將所有主題按順序編排一樣。一旦找到了所要搜索的數(shù)據(jù),就完成了這次搜索,對于非聚集索引,索引是安全獨(dú)立于數(shù)據(jù)本身結(jié)構(gòu)的,在索引中找到了尋找的數(shù)據(jù),然后通過指針定位到實(shí)際的數(shù)據(jù)
    2012-07-07
  • 異地遠(yuǎn)程訪問本地SQL Server數(shù)據(jù)庫

    異地遠(yuǎn)程訪問本地SQL Server數(shù)據(jù)庫

    數(shù)據(jù)庫的重要性相信大家都有所了解,作為各種數(shù)據(jù)的電子資料夾,其中可能包含了各種信息,這篇文章就為大家介紹了如何使用cpolar內(nèi)網(wǎng)穿透,遠(yuǎn)程連接和操作SQL Server。
    2023-04-04
  • SqlServer如何通過SQL語句獲取處理器(CPU)、內(nèi)存(Memory)、磁盤(Disk)以及操作系統(tǒng)相關(guān)信息

    SqlServer如何通過SQL語句獲取處理器(CPU)、內(nèi)存(Memory)、磁盤(Disk)以及操作系統(tǒng)相關(guān)信息

    這篇文章主要介紹了SqlServer如何通過SQL語句獲取處理器(CPU)、內(nèi)存(Memory)、磁盤(Disk)以及操作系統(tǒng)相關(guān)信息的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • SQL Server作業(yè)報(bào)錯(cuò)特殊案例分析

    SQL Server作業(yè)報(bào)錯(cuò)特殊案例分析

    這篇文章主要給大家介紹了關(guān)于SQL Server作業(yè)報(bào)錯(cuò)特殊案例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論