资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,深入了解,SQL Server,交易紀錄,胡百敬,http:/,合夥顧問,集英信誠,DBI302,大綱,交易紀,錄,錄簡介,Checkpoint,Virtual LogFiles結構,VLF重用,VLF破碎,資料庫,復,復原模,式,式,交易紀,錄,錄備份,Bulk,交易紀,錄,錄,維護交,易,易紀錄,循環使,用,用,交易紀,錄,錄,資料檔案,資料存,放,放的地,方,方,一定在,某,某個檔,案,案群組,內,內,考慮使,用,用兩個,以,以上的,檔,檔案群,組,組,Primary檔案群,組,組存放,系,系統物,件,件,隨機讀,寫,寫,交易紀,錄,錄檔完,成,成寫入,後,後,才,會,會到此,更,更新,資料變,更,更會寫,入,入兩次,,,,先交,易,易紀錄,,,,後資,料,料檔案,交易紀,錄,錄檔,擷取資,料,料庫變,動,動的狀,態,態,一定先,更,更動此,,,,再更,新,新到資,料,料檔,維護交,易,易的Atomicity和Durability,循序寫,入,入,通,常,常也循,序,序讀出,一般只,需,需要一,個,個交易,紀,紀錄檔,交易紀,錄,錄先寫,在更新,資,資料檔,之,之前,,所,所有的,變,變化須,能,能永久,記,記錄在,交,交易紀,錄,錄內,Atomic,變更能,全,全部完,成,成,或,完,完全沒,變,變,交易紀,錄,錄能保,證,證回復,可,可行,Durability,變更能,在,在穩定,的,的媒體,上,上永久,保,保存,放置交,易,易紀錄,檔,檔,交易紀,錄,錄檔應該,放,放哪?,專用的LUN通常是,較,較好的,選,選項,如果存,取,取量高,,,,需要,專,專屬的,磁,磁碟系,統,統,RAID1或RAID 10提供保,護,護與效,能,能,RAID5通常不,利,利於更,新,新,儘量不,要,要與其,他,他檔案,共,共用,不同的檔案放,在,在一起,存,存取,,大,大家都,變,變成隨,機,機存取,SQLServer資料庫,上,上線,資料庫,需,需要經,過,過一系,列,列的動,作,作,才,能,能進入,一,一致的,狀,狀態,一般稱,為,為Recovery,需要交,易,易紀錄,何時發,生,生:,資料庫,從,從離線,轉,轉成線上,附加資,料,料庫,還原資,料,料庫,服務停,止,止重起/叢集容,錯,錯移轉,Recovery的階段,分析,讀取交易紀錄找尋進行中的交易和,Dirty Pages,從最後一次的,Checkpoint,之後開始,找尋從何開始,Redo,流程,Redo,重播所有完成但未更新到資料檔的交易,若是,Enterprise,版本,則在這個時間點可以存取資料庫,Undo,回復資料庫損毀時,未完的交易,可能需要多次讀取交易紀錄,從最舊的交易紀錄開始,Checkpoint,確保Recovery的Redo階段最,少,少工作量,將更新,過,過的資,料,料頁(dirtypage)寫入到,磁,磁碟內,的,的資料,檔,檔,不管交,易,易狀態,如,如何,,將,將所有,的,的dirtypage寫入到,資,資料檔,可能造,成,成大量,的,的I/O,不會從Bufferpool移除資,料,料頁,當有記,憶,憶體壓,力,力時,Lazy Writer執行此,工,工作,Checkpoint相關選,項,項,搭配sp_configure設定執,行,行個體,recoveryinterval選項,SQLServer2012後可設,定,定資料,庫,庫層級,Target,_,_Recovery,_,_Time選項,Demo,Checkpoint,交易紀,錄,錄,保證資,料,料庫的,交,交易,每筆紀錄,透,透過LogSequenceNumber唯一標,示,示,不僅與,完,完成的,交,交易有,關,關,記載所有,的,的變動,包含可,以,以Redo和Undo交易的,所,所有資,訊,訊,大綱,交易紀,錄,錄簡介,Checkpoint,Virtual LogFiles結構,VLF重用,VLF破碎,資料庫,復,復原模,式,式,交易紀,錄,錄備份,Bulk,交易紀,錄,錄,維護交,易,易紀錄,循環使,用,用,交易紀,錄,錄,資料庫,復,復原模,式,式,Simple,Checkpoint,發生時清掉交易紀錄,Bulk Logged,備份交易紀錄後清掉交易紀錄,部分動作可以使用最少量的交易紀錄,Full,備份交易紀錄後清掉交易紀錄,所有的行為都有完整的紀錄,預設值,交易紀,錄,錄備份,將Redo和Undo不再需,要,要的交,易,易紀錄,存,存放到,備,備份檔,中,中,並,從,從交易,紀,紀錄檔,移,移除,搭配完,整,整備份,,,,以還,原,原資料,庫,庫到特,定,定時間,點,點,Simple復原模,式,式無法,備,備份交,易,易紀錄,不保證,交,交易紀,錄,錄空間,會,會被重,用,用,不會縮,小,小交易,紀,紀錄檔,案,案,Bulk Logged,特定的,行,行為可,以,以讓SQLServer僅記錄,發,發生該,行,行為以,及,及使用,的,的空間,可以讓,動,動作執,行,行得較,快,快,注意:,在,在Bulk Logged動作完,成,成交易,前,前,必,須,須將受,影,影響的,資,資料頁,內,內容寫,入,入資料,檔,檔,交易紀,錄,錄檔成,長,長得較,小,小,但,交,交易紀,錄,錄備份,檔,檔不會,較,較小,Demo,Bulk Logged行為,大綱,交易紀,錄,錄簡介,Checkpoint,Virtual LogFiles結構,VLF重用,VLF破碎,資料庫,復,復原模,式,式,交易紀,錄,錄備份,Bulk,交易紀,錄,錄,維護交,易,易紀錄,循環使,用,用,交易紀,錄,錄,記錄的,行,行為,我們希,望,望交易,紀,紀錄檔,有,有限地,成,成長,一旦不,再,再需要,局,局部的,紀,紀錄,,期,期待該,空,空間可,以,以回收,使,使用,交易紀,錄,錄有循,環,環的特,徵,徵,應,可,可以重,用,用空間,DBA負有管,好,好交易,紀,紀錄的,責,責任,什麽是,合,合理的,交,交易紀,錄,錄檔成,長,長量,,異,異常成,長,長的原,因,因為何,?,?,交易區,塊,塊(Log Block),實體寫,入,入到交,易,易紀錄,檔,檔的單,位,位,大小從512位元組,到,到60K,在記憶體,中,中以“log buffer”儲存,儲存在BufferPool,交易完,畢,畢或寫,滿,滿60K,就更,新,新到交,易,易紀錄,檔,檔,較大的,交,交易量(接近60K,),)完成寫,入,入較有,效,效率,有時多,筆,筆小交,易,易對效,能,能不利,虛擬交,易,易紀錄,檔,檔(VirtualLogFile),在交易,紀,紀錄檔,內,內清除,交,交易的,單,單位,在建立,交,交易紀,錄,錄檔或,增,增長檔,案,案大小,時,時產生,資料庫,內,內有多,少,少數量,的,的VLF是有差,異,異的,交易紀錄檔增長,增加,VLF,的量,64 MB,和,1 GB,16,需要多,少,少VLF檔案,依需求,!,!,太多,,傷,傷讀取,紀,紀錄和,還,還原資,料,料庫的,效,效能,太少,,很,很長時,間,間才能,釋,釋放和,重,重用VLF區段,,造,造成交,易,易紀錄,檔,檔更多,的,的成長,若VLF檔案太,多,多,SQLServer會發出,警,警告,Databasehasmorethan 1000virtuallogfileswhichisexcessive.Toomanyvirtual logfilescancauselongstartup andbackuptimes,.,.Consider shrinkingthelog andusinga differentgrowthincrement to reducethenumber of virtuallog files.,LogSequenceNumber,資料庫,內,內狀態,變,變化的,識,識別子,每個交易紀錄的,唯,唯一識,別,別編碼,單純遞,增,增,VLF編號:交易區,塊,塊編號:交易紀,錄,錄編號,Demo,VLF格式與,重,重用交,易,易紀錄,為何交,易,易紀錄,檔,檔如此,大,大,很多朋,友,友的經,驗,驗,通常是Full復原模,式,式,但,不,不常做,交,交易紀,錄,錄備份,可能巨,大,大交易,造,造成的,紀,紀錄,有時需,要,要在其,他,他的磁,碟,碟機加,交,交易紀,錄,錄檔,解法:,修正其下的問,題,題,縮小交,易,易紀錄,檔,檔,將Log檔增大,到,到適當,的,的大小,重用VLF,重用VLF需要:,在當下,或,或之前,的,的VLFs沒有還,在,在進行,中,中的交,易,易,沒有需,要,要完成,其,其他工,作,作的交,易,易紀錄,,,,例如,還,還未複,寫,寫,資料庫,復,復原模,式,式為Simple時,在Checkpoint後可重,用,用,資料庫,復,復原模,式,式為Bulk Logged或Full需要在備份交易紀,錄,錄後,Log,_,_reuse,_,_wait_desc,在sys,.,.databases內的欄,位,位,傳會當,下,下紀錄,未,未重用的,原,原因,,確,確認交易,紀,紀錄為,何,何留著,可能值,如,如右表,Nothing,Checkpoint,Log backup,Active backup or restore,Active Transaction,Database Mirroring,Replication,Database snapshot creation,Log Scan,Other,縮小交,易,易紀錄,檔,檔,縮小交,易,易紀錄,檔,檔案大,小,小,使用DBCC SHRINKFILE,確定縮,小,小交易,紀,紀錄檔,後,後,再,擴,擴增到,適,適當大,小,小,縮小只,能,能到某,個,個VLF的邊界,Demo,VLF過多與,破,破碎,Q&A,msdn,Resourcesfor Developers,http:/,/,/social.msdn,., Resources,TechNet,相關資,源,源,Connect.Share.Discuss,http:/,/,/channel9,.,/,/Blogs,/,/,Channel9Taiwan,Resourcesfor IT Professionals,http:/,/,/social.technet,., Corporation.Allrights reserved.Microsoft,Windowsand other productnamesare or mayberegistered trademarksand/or trademarksinthe U,.,.S.and/or other countries.,Theinformationherein is forinformational purposes onlyand representsthe currentviewofMicrosoftCorporationasofthe dateofthispresentation,.,.Because Microsoftmust respondtochangingmarket conditions,it shouldnotbeinterpretedtobeacommitment on thepart of Microsoft,and Microsoftcannotguarantee theaccuracyof
展开阅读全文