SQLServer數(shù)據(jù)庫鏡像下有效的索引維護

SQL Server數(shù)據(jù)庫鏡像下有效的索引維護

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計,鐵西網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鐵西等地區(qū)。鐵西做網(wǎng)站價格咨詢:13518219792

 

我們在做索引重建的時候,由于索引重建產(chǎn)生太多日志,習(xí)慣切換到大容量日志恢復(fù)模式。而在生產(chǎn)環(huán)境,我們配置了數(shù)據(jù)庫鏡像作為高可用,鏡像只能運行于完整恢復(fù)模式,難道我們就不做索引維護了么?

 

當(dāng)生產(chǎn)環(huán)境使用鏡像的時候,這是一個很常見的問題。當(dāng)使用鏡像前,盡管很多人會做負(fù)載性能測試,以我的經(jīng)驗,在他們的測試中不會包含維護操作。常規(guī)的維護操作是業(yè)務(wù)環(huán)節(jié)的一部分,因此,我們應(yīng)該將其包含在所有的測試場景中。

 

我們先來了解下原理,使用大容量日志恢復(fù)模式允許索引重建(使用ALTER INDEX ... REBUILD)操作產(chǎn)生更少的事務(wù)日志,也就是說,事務(wù)日志不會像在完整恢復(fù)模式下執(zhí)行的操作那么大。而數(shù)據(jù)庫鏡像只允許使用完整恢復(fù)模式,因此索引重建會記錄完整日志。產(chǎn)生的大量的額外的日志很容易導(dǎo)致主和鏡像之間的網(wǎng)絡(luò)問題,在主上會會導(dǎo)致非常大的SEND隊列。如果SEND隊列變得非常大,當(dāng)主宕機時,會有潛在的數(shù)據(jù)丟失的隱患,甚至超出可以容忍的數(shù)據(jù)丟失服務(wù)級別協(xié)議。

 

那么我們該怎么做呢?

 

我們可以錯開時間使用ALTER INDEX ... REORGANIZE做索引維護。重新組織索引只是處理存在的碎片,它是可以中斷的,而不會丟失已經(jīng)完成的工作。重建索引,不論碎片有多少,總是會建立一個新索引,如果你中斷了,整個重建過程將回滾。

 

對于很大的索引,去重建是不實際的,應(yīng)該執(zhí)行以下步驟:   

  • 第1天:在維護窗口,開始ALTER INDEX ... REORGANIZE。讓它運行1個小時,然后KILL掉。它不會回滾索引維護的操作,剛才的索引重新組織將會移除一些碎片。    

  • 第2天:再次開始重新組織索引。它不會記住第1天工作到哪了,它會快速穿過第1天的工作,開始移除索引的下一個部分的碎片。在1小時后KILL掉。    

  • 重復(fù)以上動作直到碎片級別降到合適的閾值,或者只是繼續(xù)無限期的每天處理。

 

該方法允許你限制通過常規(guī)的索引維護產(chǎn)生的事務(wù)日志的數(shù)量。如果你想更深入的優(yōu)化,不用再一定時間后殺掉重新組織的進程,你可以監(jiān)控事務(wù)日志產(chǎn)生的數(shù)量,然后到達(dá)一定閾值后再殺掉。具體,可以參考:Script: open transactions with text and plans(http://www.sqlskills.com/blogs/paul/script-open-transactions-with-text-and-plans/)

新聞標(biāo)題:SQLServer數(shù)據(jù)庫鏡像下有效的索引維護
網(wǎng)站路徑:http://bm7419.com/article4/gihgie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、定制網(wǎng)站網(wǎng)站導(dǎo)航、App開發(fā)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站