數(shù)據(jù)庫(kù):SQL Server數(shù)據(jù)庫(kù)備份方式
今天小編給大家梳理一下數(shù)據(jù)庫(kù)備份的相關(guān)知識(shí),希望對(duì)大家能有所幫助!
1、完整備份
完整備份相當(dāng)于針對(duì)整個(gè)數(shù)據(jù)庫(kù)備份,包含數(shù)據(jù)庫(kù)的全部?jī)?nèi)容。數(shù)據(jù)庫(kù)完整備份可以將數(shù)據(jù)庫(kù)的所有內(nèi)容備份為一個(gè).Bak文件。后續(xù)可以通過該備份文件在本機(jī)或者拷貝到其他服務(wù)器上進(jìn)行數(shù)據(jù)庫(kù)還原。
具體操作可以通過SQL Server Management Studio操作界面進(jìn)行備份和還原操作。使用起來比較簡(jiǎn)單。
缺點(diǎn):數(shù)據(jù)庫(kù)備份耗時(shí)長(zhǎng)、占用文件體積大。
說明:
1、隨著業(yè)務(wù)增長(zhǎng),數(shù)據(jù)庫(kù)不斷增大,完整數(shù)備份需要的時(shí)間會(huì)延長(zhǎng),并且需要占用很大存儲(chǔ)空間。針對(duì)大型數(shù)據(jù)庫(kù)可以配合差異備份來完成數(shù)據(jù)庫(kù)的備份任務(wù)。
2、使用 sp_spaceused 系統(tǒng)存儲(chǔ)過程估計(jì)完整數(shù)據(jù)庫(kù)備份的大小。
腳本示例:
- USE DB;
- GO
- BACKUP DATABASE DB
- TO DISK = 'D:\Bak\DB.bak'
- WITH FORMAT,
- MEDIANAME = 'SQLServerBackups',
- NAME = 'Full Backup of DB';
- GO
2、差異備份
差異備份只記錄自上次數(shù)據(jù)庫(kù)備份后發(fā)生更改的數(shù)據(jù)。差異數(shù)據(jù)庫(kù)備份比數(shù)據(jù)庫(kù)備份小,而且備份速度快,因此可以更經(jīng)常地備份,經(jīng)常備份將減少丟失數(shù)據(jù)的危險(xiǎn);
注意:創(chuàng)建差異數(shù)據(jù)庫(kù)備份需要有以前的完整數(shù)據(jù)庫(kù)備份。如果你的數(shù)據(jù)庫(kù)之前從未進(jìn)行過備份,如果要?jiǎng)?chuàng)建差異備份之前,要先執(zhí)行完整數(shù)據(jù)庫(kù)備份。
當(dāng)差異備份的大小增大時(shí),還原差異備份會(huì)顯著延長(zhǎng)還原數(shù)據(jù)庫(kù)所需的時(shí)間。建議按設(shè)定的間隔執(zhí)行新的完整備份,以便為數(shù)據(jù)建立新的差異基準(zhǔn)。
使用場(chǎng)景:可以每周執(zhí)行一次整個(gè)數(shù)據(jù)庫(kù)的完整備份(即完整數(shù)據(jù)庫(kù)備份),然后在該周內(nèi)執(zhí)行一系列常規(guī)的差異數(shù)據(jù)庫(kù)備份。
腳本示例:
- -- 創(chuàng)建完整備份
- BACKUP DATABASE DB
- TO back1
- WITH INIT;
- GO
- -- 創(chuàng)建差異備份
- BACKUP DATABASE MyAdvWorks
- TO back1
- WITH DIFFERENTIAL;
- GO
3、事務(wù)日志備份:
是自上次備份事務(wù)日志后對(duì)數(shù)據(jù)庫(kù)執(zhí)行的所有事務(wù)的一系列記錄??梢允褂檬聞?wù)日志備份將數(shù)據(jù)庫(kù)恢復(fù)到特定的即時(shí)點(diǎn)(如輸入多余數(shù)據(jù)前的那一點(diǎn))或恢復(fù)到故障點(diǎn);
4、文件組備份
可以備份和還原數(shù)據(jù)庫(kù)中的個(gè)別文件。可以只還原已損壞的文件,而不用還原數(shù)據(jù)庫(kù)的其余部分,從而加快了數(shù)據(jù)庫(kù)還原的恢復(fù)速度。
本文轉(zhuǎn)載自微信公眾號(hào)「IT技術(shù)分享社區(qū)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系IT技術(shù)分享社區(qū)公眾號(hào)。
個(gè)人博客網(wǎng)站:https://programmerblog.xyz