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