您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)SQL Server中怎么批量日志恢復(fù)模式,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
批量日志恢復(fù)模式
批量日志恢復(fù)模式與完整恢復(fù)模式類似,都預(yù)期會(huì)有大批量的數(shù)據(jù)修改操作(例如,創(chuàng)建索引,SELECT INTO,INSERT SELECT,BCP,BULKINSERT),在這種情況下可以最小化日志記錄量,因此它降低了性能影響。但是同時(shí)代價(jià)就是你可能不能做任何時(shí)點(diǎn)的恢復(fù)了。作為一種推薦的實(shí)踐,批量日志恢復(fù)模式可以與完整恢復(fù)模式一起使用,例如,你通常應(yīng)該在常規(guī)操作時(shí)設(shè)置為完整恢復(fù)模式,然后在偶爾發(fā)生大批量操作時(shí)臨時(shí)切換到批量日志恢復(fù)模式。最后在完成大批量操作以后,再回到完整恢復(fù)模式。如果時(shí)間點(diǎn)恢復(fù)很重要的話,我們非常推薦在切換回到完整恢復(fù)模式以后做一次事務(wù)日志備份。
與完整恢復(fù)模式類似,事務(wù)日志文件將會(huì)持續(xù)增長,因此你需要頻繁做事務(wù)日志備份。如果沒有大批量操作,批量日志模式與完整恢復(fù)模式是一樣的,你可以恢復(fù)到任何時(shí)點(diǎn),只要事務(wù)日志包含對數(shù)據(jù)庫后續(xù)做的所有變更記錄。
優(yōu)點(diǎn):通過對一些事務(wù)做最小化日志記錄優(yōu)化大批量操作的性能。不會(huì)讓事務(wù)日志由于這些大批量數(shù)據(jù)操作而顯著增長。
缺點(diǎn):如果日志損壞,或者在最近日志備份之后發(fā)生大批量數(shù)據(jù)操作,存在數(shù)據(jù)丟失的可能性。因此自最后一次備份后的變化必須被重做。
何時(shí)采用:推薦在偶爾發(fā)生的大批量數(shù)據(jù)操作之前切換到批量日志恢復(fù)模式,然后在完成大批量數(shù)據(jù)操作之后切換回到完整恢復(fù)模式。采用這種方式你仍然可以恢復(fù)到任何時(shí)間點(diǎn),只是你最后一次事務(wù)日志備份不包含大批量數(shù)據(jù)操作,同時(shí)可以將大批量數(shù)據(jù)操作的日志量最小化。
要注意的是,最小化日志記錄意味著只記錄恢復(fù)事務(wù)需要的信息,而不支持時(shí)間點(diǎn)恢復(fù)。在最小化日志的情況下,事務(wù)日志基于大批量變更映射(MCP)頁做的大批量數(shù)據(jù)變更記錄頁軌跡,而不是對每次變化做日志。這種方式數(shù)據(jù)庫日志會(huì)更小,但是在你備份事務(wù)日志時(shí),它包括了所有變更頁,因此即使事務(wù)日志非常小,事務(wù)日志備份也可能比它更大。
大容量日志恢復(fù)模式bulk_logged recovery model
The bulk-logged recovery model minimally logs bulk operations, although fully logging other transactions. The bulk-logged recovery model protects against media failure and, for bulk operations(bcp,BULK INSERT,SELECT INTO), provides the best performance and least log space usage.
The bulk-logged recovery model increases the risk of data loss for these bulk-copy operations, because bulk logging operations prevents recapturing changes on atransaction-by-transaction basis. If a log backup contains any bulk-logged operations, you cannot restore to a point-in-time within that log backup; you can restore only the whole log backup.
Bulk Changed Map (BCM) tracks the extents that have been modified by bulk logged operations since the last BACKUP LOG statement.If using the bulk-logged recovery model, only details of the modified data pages are logged, allowing for better performance.Tail Log backupIf your database is using the bulk-logged recovery model, and the transaction log contains minimally logged transactions, the data files which contain the modified pages must also be available. If those data files are unavailable, you will not be able to back up the tail of the transaction log. This is another point to consider when using the bulk-logged recovery model.
However, please note that the situation with the bulk-logged recovery model is identical to the full recovery model if no minimally logged transactions are created in the database
大容量日志恢復(fù)模式的工作原理
與完整恢復(fù)模式(完全記錄所有事務(wù))相比,大容量日志恢復(fù)模式只對大容量操作進(jìn)行最小記錄(盡管會(huì)完全記錄其他事務(wù))。大容量日志恢復(fù)模式保護(hù)大容量操作不受媒體故障的危害,提供最佳性能并占用最小日志空間。但是,大容量日志恢復(fù)模式會(huì)增加這些大容量復(fù)制操作丟失數(shù)據(jù)的風(fēng)險(xiǎn),因?yàn)榇笕萘咳罩静僮髯柚乖俅尾东@對每個(gè)事務(wù)逐一所做的更改。如果日志備份包含大容量日志操作,則無法還原到該日志備份中的時(shí)點(diǎn),而只能還原整個(gè)日志備份。在大容量日志恢復(fù)模式下,如果日志備份覆蓋了任何大容量操作,則日志備份包含由大容量操作所更改的日志記錄和數(shù)據(jù)頁。這對于捕獲大容量日志操作的結(jié)果至關(guān)重要。合并的數(shù)據(jù)區(qū)可使日志備份變得非常龐大。此外,備份日志需要訪問包含大容量日志事務(wù)的數(shù)據(jù)文件。如果無法訪問任何受影響的數(shù)據(jù)庫文件,則事務(wù)日志將無法備份,并且在此日志中提交的所有操作都會(huì)丟失。為跟蹤數(shù)據(jù)頁,日志備份操作依賴于位圖頁的大容量更改,位圖頁針對每個(gè)區(qū)包含一位。對于自上次日志備份后由大容量日志操作所更新的每個(gè)區(qū),在位圖中將每個(gè)位都設(shè)置為 1。數(shù)據(jù)區(qū)將復(fù)制到日志中,后跟日志數(shù)據(jù)。下圖顯示了日志備份的構(gòu)造方式。
重要提示:
在完整或大容量日志恢復(fù)模式下,如果沒有其他因素使日志記錄保持為活動(dòng)狀態(tài),則到進(jìn)行第一次完整備份時(shí),自動(dòng)檢查點(diǎn)才會(huì)截?cái)嗍聞?wù)日志的未使用部分。第一次完整備份后,截?cái)嘁髠浞菔聞?wù)日志。有關(guān)截?cái)嘌舆t因素的信息,請參閱可能延遲日志截?cái)嗟囊蛩亍?/p>
關(guān)于SQL Server中怎么批量日志恢復(fù)模式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。