《《SQL數(shù)據(jù)庫(kù)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《SQL數(shù)據(jù)庫(kù)》PPT課件.ppt(17頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、11.1 數(shù)據(jù)庫(kù)的備份還原 11.2 數(shù)據(jù)庫(kù)的導(dǎo)入導(dǎo)出 第 11章 數(shù)據(jù)庫(kù)的備份還原與導(dǎo)入導(dǎo)出 盡管在SQL Server 2005中采取了許多措施來(lái)保證數(shù)據(jù)庫(kù)的安全性和完整性,但故障仍不可避免。同時(shí)還存在其他一些可能造成數(shù)據(jù)丟失的因素,例如用戶的操作失誤、蓄意破壞、病毒攻擊和自然界不可抗力等。因此,SQL Server 2005指定了一個(gè)良好的備份還原策略,定期將數(shù)據(jù)庫(kù)進(jìn)行備份以保護(hù)數(shù)據(jù)庫(kù),以便在事故發(fā)生后還原數(shù)據(jù)庫(kù)。這一節(jié)主要介紹備份還原的概念,以及SQL Server 2005數(shù)據(jù)庫(kù)如何進(jìn)行備份還原。 11.1 數(shù)據(jù)庫(kù)的備份還原 11.1.1 備份還原概述SQL Server 2005提
2、供了高性能的備份和還原功能。SQL Server 2005備份和還原組件提供了重要的保護(hù)手段,以保護(hù)存儲(chǔ)在SQL Server 2005數(shù)據(jù)庫(kù)中的關(guān)鍵數(shù)據(jù)。實(shí)施計(jì)劃妥善的備份和還原策略可保護(hù)數(shù)據(jù)庫(kù),避免由于各種故障造成的損壞而丟失數(shù)據(jù)?!皞浞荨笔菙?shù)據(jù)的副本,用于在系統(tǒng)發(fā)生故障后還原和恢復(fù)數(shù)據(jù)。備份使用戶能夠在發(fā)生故障后還原數(shù)據(jù)。通過(guò)適當(dāng)?shù)膫浞?,可以從多種故障中恢復(fù),包括:1) 系統(tǒng)故障。2) 用戶錯(cuò)誤(例如,誤刪除了某個(gè)表、某些數(shù)據(jù))。3) 硬件故障(例如,磁盤驅(qū)動(dòng)器損壞)。4) 自然災(zāi)難。11.1 數(shù)據(jù)庫(kù)的備份還原 還原是指從一個(gè)或多個(gè)備份中還原數(shù)據(jù),并在還原最后一個(gè)備份后恢復(fù)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)
3、支持的還原方案取決于其恢復(fù)模式。創(chuàng)建備份的目的是為了可以恢復(fù)已損壞的數(shù)據(jù)庫(kù)。但是,備份和還原數(shù)據(jù)需要在特定的環(huán)境中進(jìn)行,并且必須使用一定的資源。因此可靠的使用備份和還原以實(shí)現(xiàn)恢復(fù)需要有一個(gè)備份和還原策略。 11.1 數(shù)據(jù)庫(kù)的備份還原 11.1.2 恢復(fù)模式備份和還原操作是在“恢復(fù)模式”下進(jìn)行的?;謴?fù)模式是一個(gè)數(shù)據(jù)庫(kù)屬性,它用于控制數(shù)據(jù)庫(kù)備份和還原操作基本行為。例如,恢復(fù)模式控制了將事務(wù)記錄在日志中的方式、事務(wù)日志是否需要備份以及可用的還原操作。1. 恢復(fù)模式的優(yōu)點(diǎn)使用恢復(fù)模式具有下列優(yōu)點(diǎn):1) 簡(jiǎn)化了恢復(fù)計(jì)劃。2) 簡(jiǎn)化了備份和恢復(fù)過(guò)程。3) 明確了系統(tǒng)操作要求之間的權(quán)衡。4) 明確了可用性和
4、恢復(fù)要求之間的權(quán)衡。 11.1 數(shù)據(jù)庫(kù)的備份還原 2. 恢復(fù)模式的分類在SQL Server 2005數(shù)據(jù)庫(kù)管理系統(tǒng)中,可以選擇的三種恢復(fù)模式:簡(jiǎn)單模式、完整模式和大容量日志模式。(1) 簡(jiǎn)單恢復(fù)模式此模式簡(jiǎn)略地記錄大多數(shù)事務(wù),所記錄的信息只是為了確保在系統(tǒng)崩潰或還原數(shù)據(jù)備份之后數(shù)據(jù)庫(kù)的一致性。(2) 完整恢復(fù)模式此模式完整地記錄了所有的事務(wù),并保留所有的事務(wù)日志記錄,直到將它們備份。完整恢復(fù)模式能使數(shù)據(jù)庫(kù)恢復(fù)到故障時(shí)間點(diǎn)(假定在故障發(fā)生之后備份了日志尾部)。(3) 大容量日志恢復(fù)模式此模式簡(jiǎn)略地記錄大多數(shù)大容量操作(例如,索引創(chuàng)建和大容量加載),完整地記錄其他事務(wù)。大容量日志恢復(fù)提高大容量操
5、作的性能,常用作完整恢復(fù)模式的補(bǔ)充。11.1 數(shù)據(jù)庫(kù)的備份還原 3. 恢復(fù)模式的選擇(1) 簡(jiǎn)單恢復(fù)模式如果系統(tǒng)符合下列所有要求,則使用簡(jiǎn)單恢復(fù)模式:1) 丟失日志中的一些數(shù)據(jù)無(wú)關(guān)緊要。2) 無(wú)論何時(shí)還原主文件組,用戶都希望始終還原讀寫輔助文件組(如果有)。3) 是否備份事務(wù)日志無(wú)所謂,只需要完整差異備份。4) 不在乎無(wú)法恢復(fù)到故障點(diǎn)以及丟失從上次備份到發(fā)生故障時(shí)之間的任何更新。(2) 完整恢復(fù)模式如果系統(tǒng)符合下列任何要求,則使用完整恢復(fù)模式:1) 用戶必須能夠恢復(fù)所有數(shù)據(jù)。2) 數(shù)據(jù)庫(kù)包含多個(gè)文件組,并且希望逐段還原讀寫輔助文件組(以及只讀文件組)。 3) 必須能夠恢復(fù)到故障點(diǎn)。11.1 數(shù)
6、據(jù)庫(kù)的備份還原 11.1.3 數(shù)據(jù)庫(kù)備份數(shù)據(jù)庫(kù)備份包括完整備份和完整差異備份。1.完整備份完整備份(以前稱為數(shù)據(jù)庫(kù)備份)將備份整個(gè)數(shù)據(jù)庫(kù),包括事務(wù)日志部分(以便可以恢復(fù)整個(gè)備份)。完整備份代表備份完成時(shí)的數(shù)據(jù)庫(kù)。通過(guò)包括在完整備份中的事務(wù)日志,可以使用備份恢復(fù)到備份完成時(shí)的數(shù)據(jù)庫(kù)。創(chuàng)建完整備份是單一操作,通常會(huì)安排該操作定期發(fā)生。11.1 數(shù)據(jù)庫(kù)的備份還原 2.完整差異備份“完整差異備份”僅記錄自上次完整備份后更改過(guò)的數(shù)據(jù)。完整差異備份比完整備份更小、更快,可以簡(jiǎn)化頻繁的備份操作,減少數(shù)據(jù)丟失的風(fēng)險(xiǎn)。 完整差異備份基于以前的完整備份,因此,這樣的完整備份稱為“基準(zhǔn)備份”。差異備份僅記錄自基準(zhǔn)備
7、份后更改過(guò)的數(shù)據(jù)。完整差異備份比完整備份更小、更快,可以簡(jiǎn)化頻繁的備份操作,減少數(shù)據(jù)丟失的風(fēng)險(xiǎn)。 11.1 數(shù)據(jù)庫(kù)的備份還原 3.使用Backup命令進(jìn)行備份T-SQL提供了BACKUP DATABASE語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份。其語(yǔ)法格式為:BACKUP DATABASE database_name | database_name_var TO ,.n MIRROR TO ,.n .next-mirror WITH BLOCKSIZE = blocksize | blocksize_variable , CHECKSUM | NO_CHECKSUM 11.1 數(shù)據(jù)庫(kù)的備份還原 【例11-1】將整
8、個(gè)“學(xué)生成績(jī)管理系統(tǒng)”數(shù)據(jù)庫(kù)完整備份到磁盤上,并創(chuàng)建一個(gè)新的媒體集。BACKUP DATABASE學(xué)生成績(jī)管理系統(tǒng)TO DISK = C:MSSQLBACKUP學(xué)生成績(jī)管理系統(tǒng).Bak WITH FORMAT, NAME = 學(xué)生成績(jī)管理系統(tǒng)的完整備份【例11-2】創(chuàng)建“學(xué)生成績(jī)管理系統(tǒng)”數(shù)據(jù)庫(kù)的完整差異備份。BACKUP DATABASE學(xué)生成績(jī)管理系統(tǒng)TO DISK = C:MSSQLBACKUP學(xué)生成績(jī)管理系統(tǒng)差異備份.Bak WITH DIFFERENTIAL11.1 數(shù)據(jù)庫(kù)的備份還原 11.1.4 數(shù)據(jù)庫(kù)還原還原方案從一個(gè)或多個(gè)備份中還原數(shù)據(jù),并在還原最后一個(gè)備份后恢復(fù)數(shù)據(jù)庫(kù)。支持的
9、還原方案取決于恢復(fù)模式。通過(guò)還原方案,可以在下列級(jí)別之一還原數(shù)據(jù):數(shù)據(jù)庫(kù)和數(shù)據(jù)文件。 11.1 數(shù)據(jù)庫(kù)的備份還原 3. 使用Restore命令進(jìn)行還原T-SQL提供了RESTORE命令對(duì)備份數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。其語(yǔ)法格式為:RESTORE DATABASE database_name | database_name_var FROM ,.n WITH CHECKSUM | NO_CHECKSUM , CONTINUE_AFTER_ERROR | STOP_ON_ERROR , FILE = file_number | file_number , KEEP_REPLICATION , MEDIANA
10、ME = media_name | media_name_variable 11.1 數(shù)據(jù)庫(kù)的備份還原 【例11-3】將“學(xué)生成績(jī)管理系統(tǒng)”數(shù)據(jù)庫(kù)的完整備份進(jìn)行還原。RESTORE DATABASE學(xué)生成績(jī)管理系統(tǒng)FROM DISK = C:MSSQLBACKUP學(xué)生成績(jī)管理系統(tǒng).Bak【例11-4】將“學(xué)生成績(jī)管理系統(tǒng)”數(shù)據(jù)庫(kù)的完整差異備份還原。BACKUP DATABASE學(xué)生成績(jī)管理系統(tǒng)FROM DISK = C:MSSQLBACKUP學(xué)生成績(jī)管理系統(tǒng)差異備份.BakRECOVERY 11.1 數(shù)據(jù)庫(kù)的備份還原 通過(guò)導(dǎo)入和導(dǎo)出操作可以在SQL Server 2005和其他異類數(shù)據(jù)源(例如
11、Excel或Oracle數(shù)據(jù)庫(kù))之間輕松移動(dòng)數(shù)據(jù)。例如,可以將數(shù)據(jù)從Excel應(yīng)用程序?qū)С龅綌?shù)據(jù)文件,然后將數(shù)據(jù)大容量導(dǎo)入到SQL Server表?!皩?dǎo)出”是指將數(shù)據(jù)從SQL Server表復(fù)制到數(shù)據(jù)文件?!皩?dǎo)入”是指將數(shù)據(jù)從數(shù)據(jù)文件加載到SQL Server表。這一節(jié)主要介紹SQL Server 2005如何進(jìn)行數(shù)據(jù)的導(dǎo)入和導(dǎo)出。 11.2 數(shù)據(jù)庫(kù)的導(dǎo)入導(dǎo)出 11.2.1 數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出在SQL Server 2005中,可以在SQL Server Management Studio中將數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出。1) 打開(kāi)SQL Server Management Studio,用鼠標(biāo)右鍵單擊“對(duì)
12、象資源管理器”中的“學(xué)生成績(jī)管理系統(tǒng)”數(shù)據(jù)庫(kù)對(duì)象。在彈出的快捷菜單中選擇“任務(wù)”下的“導(dǎo)出數(shù)據(jù)”選項(xiàng) 。11.2 數(shù)據(jù)庫(kù)的導(dǎo)入導(dǎo)出 11.2.2 數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)入在SQL Server 2005中,也可以在SQL Server Management Studio中將數(shù)據(jù)導(dǎo)如入到數(shù)據(jù)庫(kù)表中。為了演示數(shù)據(jù)的導(dǎo)入操作,在本例中,將導(dǎo)出操作中導(dǎo)出的數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)入到“倉(cāng)庫(kù)庫(kù)存管理系統(tǒng)”數(shù)據(jù)庫(kù)中。1) 打開(kāi)SQL Server Management Studio,用鼠標(biāo)右鍵單擊“對(duì)象資源管理器”中的“倉(cāng)庫(kù)庫(kù)存管理系統(tǒng)”數(shù)據(jù)庫(kù)對(duì)象。在彈出的快捷菜單中選擇“任務(wù)”下的“導(dǎo)入數(shù)據(jù)”選項(xiàng)。 11.2 數(shù)據(jù)庫(kù)的導(dǎo)入導(dǎo)出