點(diǎn)擊查看:2015計算機等級考試四級數據庫工程師復習匯總
第15章 備份和恢復數據庫
15.1 備份數據庫
15.1.1 概述
1、備份數據庫的作用
(1) 備份數據庫就是將數據庫數據和與數據庫的正常運行有關(guān)的信息保存起來(lái),以備恢復數據庫時(shí)使用,其主要目的是為了防止數據的丟失。
(2) 另一作用是作為數據轉移的一種方式;
2、備份時(shí)間
(1) 對于系統數據庫應進(jìn)行了修改后立即備份,對于用戶(hù)數據庫一般采用定期備份;
(2) 備份數據庫要選在數據庫操作少的時(shí)間進(jìn)行,這樣可減少對備份以及數據操作性能的影響。
15.1.2 備份設備
1、 SQL Server將備份數據庫的場(chǎng)所稱(chēng)為備份設備,它支持將數據庫備份到磁帶或磁盤(pán)上;
2、 備份方式有兩種:
(1) 先創(chuàng )建備份設備,然后將數據庫備份到備份設備上(永久備份設備);
(2) 直接將數據庫備份到物理文件上(臨時(shí)備份設備)。
15.1.3 創(chuàng )建備份設備
備份設備在操作系統一級實(shí)際上是物理文件,只是備份設備必須要先創(chuàng )建好,然后才能使用
1、 用企業(yè)管理器創(chuàng )建備份設備
2、 使用系統存儲過(guò)程創(chuàng )建備份設備
sp_addumpdevice[@devtype=]’device_type’,[@logicalname=]’logical_name’,
[@physicalname=]’physical_name’
其中:
(1)[@devtype=]’device_type’:為備份設備的類(lèi)型,可選下列之一:
(A) Disk:使用磁盤(pán)文件作為備份設備;
(B) Pipe:使用命名管道作為備份設備;
(C) Tape:使用磁帶設備。
(2)[@logicalname=]’logical_name’:備份設備的邏輯名稱(chēng),該邏輯名稱(chēng)用在BACKUP和RESTORE語(yǔ)句中;
(3)[@physicalname=]’physical_name’:備份設備的物理名稱(chēng)。
15.1.4 備份類(lèi)型
1、 完全備份
是將數據庫中的全部信息進(jìn)行備份,它是恢復的基線(xiàn),在進(jìn)行完全備份時(shí),不但備份數據庫的數據文件、日志文件,而且還備份文件的存儲位置信息以及數據庫中的全部對象及相關(guān)信息;
備份數據庫是要消耗時(shí)間的,在進(jìn)行備份數據庫時(shí),用戶(hù)可以訪(fǎng)問(wèn)數據庫,它將不影響數據庫的備份,并且還可以將備份過(guò)程中發(fā)生的活動(dòng)全部備份下來(lái)。
2、差異備份
是備份從最近的完全備份之后對數據庫所作的修改,它以完全備份為基點(diǎn),備份變化了的數據文件和日志文件以及數據庫中其他被修改的內容,
在差異備份過(guò)程中,也允許用戶(hù)訪(fǎng)問(wèn)數據庫和對其操作,且在備份過(guò)程中的活動(dòng)也一起備份下來(lái);
3、事務(wù)日志備份
(1) 是備份從上次備份之后的日志記錄,在默認情況下,事務(wù)日志備份完成后,要截斷日志。
(2) 事務(wù)日志記錄了用戶(hù)對數據庫進(jìn)行的修改操作,為了避免記錄越來(lái)越多,必須定期地將日志記錄中不需要的部分清除掉,這種過(guò)程叫截斷日志,備份日志是截斷日志的一種方法;
(3) 如果要進(jìn)行事務(wù)日志備份,必須將數據庫的故障還原模型設置為“完全”方式或“大容量日志記錄的”方式,因為在默認情況下的“簡(jiǎn)單”方式,只能進(jìn)行完全備份和差異備份,不能進(jìn)行事務(wù)日志備份,因為在該模式下系統自動(dòng)定期將事務(wù)日志中不活動(dòng)的部分清除。
(4) 如要對數據庫進(jìn)行事務(wù)日志備份,則必須先設置數據庫的故障還原模型,否則在恢復時(shí)就會(huì )出錯。這是因為不同的還原模型對日志的記錄和維護方式是不一樣的。
15.1.5 備份策略
1、完全備份
完全備份策略適合于數據庫數據不是很大,而且數據更改不是很頻繁的情況?梢詭滋旎驇字苓M(jìn)行一次;
2、完全備份+日志備份
如不允許丟失太多數據,且不希望經(jīng)常進(jìn)行完全備份;
3、完全備份+差異備份+日志備份
該策略的好處是備份和恢復的速度都比較快,出現故障時(shí)丟失的數據也比較少;
15.1.6 實(shí)現備份
1、 使用企業(yè)管理器備份數據庫
2、 使用Transact-SQL語(yǔ)句備份數據庫
(1) 備份數據庫的基本語(yǔ)法:
BACKUP DATABASE 數據庫名
TO {<備份設備名>}|{DISK|TAPE}={‘物理備份文件名’}
[WITH [DIFFERENTIAL][[,]{INIT|NOINIT}]]
其中:
(A)<備份設備名>:將數據庫備份到已創(chuàng )建好的備份設備名上;
(B)DISK|TAPE:將數據庫備份到磁盤(pán)或磁帶;
(D) DIFFERENTIAL:進(jìn)行差異備份;
(E) INIT:本次備份數據庫將重寫(xiě)備份設備,即覆蓋掉本設備上以前進(jìn)行的所有備份;
(F) NOINIT:本次備份數據庫將追加到備份設備上,即不覆蓋。
(2) 備份數據庫日志的基本語(yǔ)法:
BACKUP LOG 數據庫名
TO {<備份設備名>}|{DISK|TAPE}={‘物理備份文件名’}
[WITH [{INIT|NOINIT}] [{[,]NO_LOG|TRUNCATE_ONLY|NO_TRUNCATE}]]
其中:
(A) NO_LOG和TRUNCATE_ONLY:表示備份完日志后要截斷不活動(dòng)的日志;
(B) NO_TRUNCATE:表示備份完日志后不截斷不活動(dòng)的日志;
(C) 其他選項同備份數據庫語(yǔ)句的選項。
15.1.7 備份媒體集
1、 當數據庫很大時(shí),有時(shí)一個(gè)備份設備的空間可能不能滿(mǎn)足要求,這里就可以將數據庫備份到多個(gè)不同的備份設備上,同時(shí)使用多個(gè)備份設備進(jìn)行備份的為此設備就稱(chēng)為備份媒體集;
2、 使用媒體集與使用單一備份設備的方法一樣,只需添加其他備份設備,系統會(huì )自動(dòng)將這些設備作為一個(gè)備份媒體集使用;
3、 系統在使用備份媒體集時(shí),基本是將備份所需的空間均衡地分擔到每個(gè)備份設備上;
4、 如果以后要單獨使用某個(gè)設備,則必須重新初始化備份媒體集,即刪除不需要的設備后,重寫(xiě)并初始化即可,但注意的是,重新初始化后原備份媒體集上所備份的內容將全部丟失。
15.2 恢復數據庫
15.2.1 恢復前的準備及恢復順序
1、恢復前的準備
在恢復數據庫前必須限制數據庫的訪(fǎng)問(wèn),一般選擇“限制訪(fǎng)問(wèn)”中的“db_owner、dbcreator或sysadmin的成員”,說(shuō)明只有以上角色才可訪(fǎng)問(wèn)數據庫;
2、恢復的順序
(1) 恢復最近的完全數據庫備份;
(2) 恢復完全數據庫備份之后最近的差異數據庫備份;
(3) 按日志備份的先后順序恢復自最近的完全或差異數據庫備份之后的所有日志。
15.2.2 實(shí)現恢復
1、用企業(yè)管理器恢復數據庫
2、用Transact-SQL語(yǔ)句恢復數據庫
RESTORE DATABASE 數據庫名
FROM 備份設備名
[WITH FILE=文件號[,]NORECOVERY[,]RECOVERY]
其中:
(1) FILE=文件號:標識要還原的備份集,文件號為1表示備份設備上的第一個(gè)備份集,文件號為2表示備份設備上的第二個(gè)備份集;
(2) NORECOVERY:表明對數據庫的恢復還沒(méi)有完成,使用此項恢復的數據庫是不可用的,但可以繼續恢復后續的備份;
(3) RECOVERY:表明對數據庫的恢復已完成,一般是在恢復數據庫的最后一個(gè)備份時(shí)使用此項,此時(shí)恢復的數據庫是可用的。
恢復日志的語(yǔ)法:
RESTORE LOG 數據庫名 FROM 備份設備名 [WITH FILE=文件號[,]NORECOVERY[,]RECOVERY]
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |