SQL Server誤區(qū)30日談 第10天 數(shù)據(jù)庫鏡像在故障發(fā)生后 馬上就能發(fā)現(xiàn)
錯(cuò)誤
市面上大肆宣傳數(shù)據(jù)庫鏡像技術(shù)可以在故障發(fā)生后,立即檢測到錯(cuò)誤并進(jìn)行故障轉(zhuǎn)移。
但事實(shí)并不是這樣,檢測到故障發(fā)生的速度要取決于故障的類型。
檢測故障發(fā)生的最快的情況是,鏡像中的主體實(shí)例崩潰,從而鏡像服務(wù)器每秒一次的PING就無法返回值,從而知道主體服務(wù)器上不再有這個(gè)進(jìn)程偵聽相應(yīng)的TCP端口,這種情況下,鏡像服務(wù)器幾乎瞬間就能發(fā)現(xiàn)故障。
檢測到故障發(fā)生第二快的情況是主體服務(wù)器的操作系統(tǒng)崩潰。此時(shí)主體服務(wù)器不再響應(yīng)鏡像服務(wù)器的PING,從而在鏡像服務(wù)器PING超時(shí)后發(fā)現(xiàn)錯(cuò)誤。這個(gè)超時(shí)的閾值默認(rèn)是10秒。但你也可以延長這個(gè)時(shí)間,這時(shí),故障發(fā)生時(shí)間完全取決于PING的超時(shí)時(shí)間。
檢測到故障第三快的情況是是主體的日志磁盤不可用,此時(shí)SQL SERVER仍然會(huì)發(fā)起IO請(qǐng)求,但20秒IO等待無法寫入日志后發(fā)現(xiàn)日志磁盤不可用,最終40秒后宣告磁盤日志不可用,從而讓鏡像服務(wù)器上線。SQL SERVER是十分有耐心的,比如拿鎖來說,SQL SERVER對(duì)于鎖會(huì)無限等待,除非遇到死鎖才進(jìn)行干預(yù)。
還有,損壞頁有可能完全不會(huì)引發(fā)故障,如果查詢報(bào)了823或是824錯(cuò)誤,鏡像技術(shù)完全不會(huì)關(guān)注(SQL SERVER 2008之后這個(gè)問題得到修復(fù): SQL Server 2008: Automatic Page Repair with Database Mirroring),如果數(shù)據(jù)回滾的過程中遇到823錯(cuò)誤或是824錯(cuò)誤,數(shù)據(jù)庫立刻會(huì)變?yōu)橘|(zhì)疑狀態(tài),也就是日志和數(shù)據(jù)不統(tǒng)一。這也會(huì)導(dǎo)致鏡像失敗。
你在圣經(jīng)上學(xué)習(xí)到的那些教條也不是需要完全遵循的嘛:-)
- 監(jiān)視SQLServer數(shù)據(jù)庫鏡像[圖文]
- SQL數(shù)據(jù)庫與oracle數(shù)據(jù)庫鏡像有什么不同對(duì)比
- MySQL 數(shù)據(jù)庫雙向鏡像、循環(huán)鏡像(復(fù)制)
- mssql2005數(shù)據(jù)庫鏡像搭建教程
- SQL Server 2008 R2數(shù)據(jù)庫鏡像部署圖文教程
- SQL Server 2008 數(shù)據(jù)庫鏡像部署實(shí)例之一 數(shù)據(jù)庫準(zhǔn)備
- SQL Server 2008 數(shù)據(jù)庫鏡像部署實(shí)例之二 配置鏡像,實(shí)施手動(dòng)故障轉(zhuǎn)移
- SQL Server 2008 數(shù)據(jù)庫鏡像部署實(shí)例之三 配置見證服務(wù)器
- SQL Server 2005 鏡像構(gòu)建手冊(sql2005數(shù)據(jù)庫同步鏡像方案)
- 利用SQL SERVER 2005數(shù)據(jù)庫鏡像實(shí)現(xiàn)可用性分析
- 簡述SQL Server 2005數(shù)據(jù)庫鏡像相關(guān)知識(shí)
相關(guān)文章
實(shí)現(xiàn)SQL分頁的存儲(chǔ)過程代碼
本文主要介紹了分頁的存儲(chǔ)過程所實(shí)現(xiàn)代碼,使用存儲(chǔ)過程可以提高效率與節(jié)約時(shí)間,需要的朋友可以參考下2015-08-08SQL server中字符串逗號(hào)分隔函數(shù)分享
繼SQl -Function創(chuàng)建函數(shù)數(shù)據(jù)庫輸出的結(jié)果用逗號(hào)隔開,在開發(fā)中也有許多以參數(shù)的形式傳入帶逗號(hào)字條串參數(shù),需要的朋友可以參考下2016-10-10SQL SERVER性能優(yōu)化綜述(很好的總結(jié),不要錯(cuò)過哦)
一個(gè)系統(tǒng)的性能的提高,不單單是試運(yùn)行或者維護(hù)階段的性能調(diào)優(yōu)的任務(wù),也不單單是開發(fā)階段的事情,而是在整個(gè)軟件生命周期都需要注意,進(jìn)行有效工作才能達(dá)到的。所以我希望按照軟件生命周期的不同階段來總結(jié)數(shù)據(jù)庫性能優(yōu)化相關(guān)的注意事項(xiàng)。2008-09-09sqlserver 系統(tǒng)存儲(chǔ)過程 中文說明
sqlserver 系統(tǒng)存儲(chǔ)過程這樣大家就知道這些存儲(chǔ)過程的作用了。2009-06-06SQLServer數(shù)據(jù)庫從高版本降級(jí)到低版本實(shí)例詳解
這篇文章主要介紹了SQLServer數(shù)據(jù)庫從高版本降級(jí)到低版本實(shí)例詳解的相關(guān)資料,在工程項(xiàng)目需要遷移的時(shí)候,偶爾會(huì)用到這樣的知識(shí),需要的朋友可以參考下2016-12-12Windows下使用性能監(jiān)視器監(jiān)控SqlServer的常見指標(biāo)
這篇文章主要介紹了Windows下使用性能監(jiān)視器監(jiān)控SqlServer的常見指標(biāo),常見指標(biāo)包括Buffer Cache Hit Ratio、Pages/sec、 Available Bytes、Disk Time、Avg. Disk Queue Length、Processor Time、Processor Queue Length等,需要的朋友可以參考下2015-02-02SQL對(duì)冗余數(shù)據(jù)的刪除重復(fù)記錄只保留單條的說明
本文講一下數(shù)據(jù)庫中通常存在一些冗余數(shù)據(jù),如重復(fù)記錄就是一種,那這樣的記錄如何刪除呢?2010-03-03SQL?Server2022安裝提示"安裝程序在運(yùn)行作業(yè)UpdateResult時(shí)失敗"解決方法
平時(shí)大家在安裝數(shù)據(jù)庫的時(shí)候,我也相信大家會(huì)遇到過一些報(bào)錯(cuò)導(dǎo)致安裝失敗,下面這篇文章主要給大家介紹了關(guān)于SQL?Server2022安裝提示"安裝程序在運(yùn)行作業(yè)UpdateResult時(shí)失敗"的解決方法,需要的朋友可以參考下2023-05-05