數(shù)據(jù)庫原理與應(yīng)用第12章--數(shù)據(jù)備份與導(dǎo)入導(dǎo)出課件_第1頁
數(shù)據(jù)庫原理與應(yīng)用第12章--數(shù)據(jù)備份與導(dǎo)入導(dǎo)出課件_第2頁
數(shù)據(jù)庫原理與應(yīng)用第12章--數(shù)據(jù)備份與導(dǎo)入導(dǎo)出課件_第3頁
數(shù)據(jù)庫原理與應(yīng)用第12章--數(shù)據(jù)備份與導(dǎo)入導(dǎo)出課件_第4頁
數(shù)據(jù)庫原理與應(yīng)用第12章--數(shù)據(jù)備份與導(dǎo)入導(dǎo)出課件_第5頁
已閱讀5頁,還剩146頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第12章 數(shù)據(jù)備份與導(dǎo)入/導(dǎo)出 任課老師:【本章要點】 為使系統(tǒng)在出現(xiàn)故障后,能盡快恢復(fù)正常工作,把損失降到最低,必須對數(shù)據(jù)庫進行經(jīng)常性的備份,以便在需要時能夠及時恢復(fù)。同時,為了能使不同數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)相互通用,可以進行數(shù)據(jù)的導(dǎo)入、導(dǎo)出。 主要內(nèi)容如下:SQL Server備份的基本概念;備份設(shè)備的類型與建立;數(shù)據(jù)備份的類型及實現(xiàn);數(shù)據(jù)恢復(fù)的概念及方法;數(shù)據(jù)轉(zhuǎn)換的概念及數(shù)據(jù)導(dǎo)入、導(dǎo)出方法;SSIS設(shè)計器簡介。121 數(shù)據(jù)庫的備份12.1.1 概述 數(shù)據(jù)庫備份是指系統(tǒng)管理員定期或不定期地將數(shù)據(jù)庫中的部分或全部內(nèi)容復(fù)制到其他存儲介質(zhì)上的過程。數(shù)據(jù)庫的備份可分為靜態(tài)備份和動態(tài)備份。 靜態(tài)備份是指在

2、備份過程中,不允許對數(shù)據(jù)庫進行任何存取、修改等操作。靜態(tài)備份操作簡單,但是備份與用戶事務(wù)都必須等待對方結(jié)束后才能進行。顯然,靜態(tài)備份降低了數(shù)據(jù)庫的可用性。121 數(shù)據(jù)庫的備份 動態(tài)備份是指在備份過程中,允許對數(shù)據(jù)庫進行存取或修改。 動態(tài)備份克服了靜態(tài)備份的缺點,即備份和用戶事務(wù)可以并發(fā)執(zhí)行。 由于,在備份的同時,數(shù)據(jù)庫有可能被修改。因此,動態(tài)備份的數(shù)據(jù)并不能保證是正確有效的。采用動態(tài)備份時,必須建立日志文件,把備份期間各事務(wù)對數(shù)據(jù)庫的修改活動記錄下來。以便使數(shù)據(jù)庫恢復(fù)到某一時刻的正確狀態(tài)。121 數(shù)據(jù)庫的備份 SQL Server的備份可以通過手工或SQL Server Agent來完成。SQ

3、L Server Agent可以在事先設(shè)定的任一天的任何時候執(zhí)行備份計劃。 數(shù)據(jù)庫的備份是十分耗費時間和占用資源的過程,不易頻繁進行。應(yīng)該根據(jù)數(shù)據(jù)庫的使用情況確定一個適當(dāng)?shù)膫浞葜芷凇?一般而言,對于數(shù)據(jù)更新頻繁,或數(shù)據(jù)非常重要的數(shù)據(jù)庫,備份的頻率應(yīng)該較高一些。121 數(shù)據(jù)庫的備份 在下列情況下,應(yīng)及時進行數(shù)據(jù)庫的備份。創(chuàng)建、修改、刪除數(shù)據(jù)庫前應(yīng)該備份數(shù)據(jù)庫;創(chuàng)建了用戶自定義對象;增加或刪除服務(wù)器的系統(tǒng)存儲過程;修改了master、msdb、model數(shù)據(jù)庫;清除事務(wù)日志或執(zhí)行了不寫入事務(wù)日志的操作。121 數(shù)據(jù)庫的備份1212 備份設(shè)備 備份設(shè)備是指在數(shù)據(jù)庫備份過程中,數(shù)據(jù)庫、事務(wù)日志副本的存

4、儲介質(zhì)。 創(chuàng)建備份時,必須選擇相應(yīng)的備份設(shè)備,并為其分配邏輯名和物理名。 物理名是操作系統(tǒng)用來標(biāo)識備份設(shè)備的名稱。 邏輯名是用來標(biāo)識物理備份設(shè)備的別名或公用名。設(shè)備的邏輯名將永久地存儲在SQL Server的系統(tǒng)表中。 數(shù)據(jù)庫在備份或還原時,可以交替使用物理名或邏輯名。121 數(shù)據(jù)庫的備份1備份設(shè)備的類型 備份設(shè)備一般有磁盤設(shè)備和磁帶設(shè)備兩類。 磁盤設(shè)備包括本地磁盤和遠程磁盤。備份時,建議不要將數(shù)據(jù)庫與數(shù)據(jù)庫的備份放在同一物理磁盤上。否則,當(dāng)包含數(shù)據(jù)庫的磁盤設(shè)備發(fā)生故障時,備份可能會一起遭到破壞,這將導(dǎo)致數(shù)據(jù)庫無法恢復(fù)。 使用磁帶設(shè)備時,必須將其物理連接到運行SQL Server實例的計算機上

5、。SQL Server不支持磁帶設(shè)備的遠程備份。使用磁帶設(shè)備時,應(yīng)考慮操作系統(tǒng)對其的支持性。121 數(shù)據(jù)庫的備份2建立備份設(shè)備 備份設(shè)備的建立,可以使用SQL Server Management Studio,或使用T-SQL語句。(1)使用SQL Server Management Studio 在Microsoft SQL Server Management Studio窗口的對象資源管理器中,右擊“服務(wù)器對象”文件夾中的“備份設(shè)備”,如圖12-1所示。121 數(shù)據(jù)庫的備份圖12-1 對象資源管理器121 數(shù)據(jù)庫的備份 在彈出的快捷菜單中,單擊“新建備份設(shè)備”命令,打開“備份設(shè)備”對話框,

6、如圖12-2所示。121 數(shù)據(jù)庫的備份圖12-2 “備份設(shè)備”對話框121 數(shù)據(jù)庫的備份 在“備份設(shè)備”對話框的“設(shè)備名稱”欄中輸入備份設(shè)備的名稱(邏輯名); 選中“文件”單選按鈕,在對應(yīng)的文本框中,輸入磁盤備份設(shè)備的物理名(一個完整的路徑和文件名,如果是網(wǎng)絡(luò)備份設(shè)備,應(yīng)該是文件通用命名約定的位置); 單擊“文件”文本框右側(cè)“瀏覽”按鈕,打開“定位數(shù)據(jù)庫文件”對話框,選擇磁盤備份設(shè)備所使用的本地計算機上的物理文件。121 數(shù)據(jù)庫的備份 在“備份設(shè)備”對話框中,“磁帶”單選按鈕僅在運行SQL Server 數(shù)據(jù)引擎實例的計算機附連有磁帶機時才可用。 建立磁帶備份設(shè)備的方法與建立磁盤備份設(shè)備的方法

7、相同。121 數(shù)據(jù)庫的備份(2)使用T-SQL語句 系統(tǒng)存儲過程sp_addumpdevice可以用來添加備份設(shè)備。其語法形式如下:sp_addumpdevice devtype = device_type, logicalname = logical_name, physicalname = physical_name121 數(shù)據(jù)庫的備份 其中:device_type:備份設(shè)備的類型。disk:硬盤文件作為備份設(shè)備;tape:磁帶備份設(shè)備;logical_name:備份設(shè)備的邏輯名,用于SQL Server管理備份設(shè)備;physical_name:備份設(shè)備的物理名稱。物理名稱必須遵照操作系統(tǒng)

8、文件名稱的規(guī)則或者網(wǎng)絡(luò)設(shè)備的通用命名規(guī)則,并且必須包括完整的路徑。121 數(shù)據(jù)庫的備份示例1:創(chuàng)建一個本地磁盤備份設(shè)備。語句如下:USE RSGLXTEXEC sp_addumpdevice disk,SQLBackup_RSGLXT1,e:RSGLXT.bak 備份設(shè)備創(chuàng)建后,可在SQL Server Management Studio窗口的對象資源管理器中,查看到新建的備份設(shè)備,如圖12-3所示。121 數(shù)據(jù)庫的備份圖12-3 創(chuàng)建備份設(shè)備121 數(shù)據(jù)庫的備份3刪除備份設(shè)備 備份設(shè)備的刪除,可以使用SQL Server Management Studio,或使用T-SQL語句。(1)使用T

9、-SQL語言 刪除備份設(shè)備可使用系統(tǒng)存儲過程sp_dropdevice。該存儲過程可以選擇刪除備份設(shè)備的邏輯名稱或物理文件。其具體語法如下:sp_dropdevice logicalname = device,delfile = delfile121 數(shù)據(jù)庫的備份 其中:logicalname = device:數(shù)據(jù)庫設(shè)備或備份設(shè)備的邏輯名稱;delfile = delfile:指出是否應(yīng)該刪除物理備份設(shè)備文件。如果將其指定為delfile,那么就會刪除物理備份設(shè)備磁盤文件。121 數(shù)據(jù)庫的備份(2)使用SQL Server Management Studio 在Microsoft SQL S

10、erver Management Studio窗口的對象資源管理器中,選擇“服務(wù)器對象”“備份設(shè)備”; 右擊要刪除的備份設(shè)備,在彈出的快捷菜單上單擊“刪除”命令; 在彈出的“刪除對象”窗口中,單擊“確定”銨鈕即可。121 數(shù)據(jù)庫的備份1213 備份類型 在SQL Server 2005中,備份的類型包括:數(shù)據(jù)庫備份(Database Backup)、差異數(shù)據(jù)庫備份(Differentia Database Backup)、事務(wù)日志備份(Transaction Log Backup)和數(shù)據(jù)庫文件和文件組備份(File and File Group Backup)。121 數(shù)據(jù)庫的備份1數(shù)據(jù)庫備份

11、 數(shù)據(jù)庫備份是指對數(shù)據(jù)庫中所有的數(shù)據(jù)、日志文件以及數(shù)據(jù)庫對象進行的備份。 數(shù)據(jù)庫備份也稱之為完整數(shù)據(jù)庫備份。這種備份操作簡單、易實施,且數(shù)據(jù)庫的還原操作簡單。 同時,由于是對數(shù)據(jù)庫的完整備份,故備份速度慢,且占用大量磁盤空間。121 數(shù)據(jù)庫的備份 這種類型的備份適用于以下情況:數(shù)據(jù)不是非常重要,盡管在備份之后恢復(fù)之前數(shù)據(jù)被修改,但這種修改是可以忍受的;通過批處理或其它方法,在數(shù)據(jù)庫恢復(fù)之后可以很容易地重新實現(xiàn)在數(shù)據(jù)損壞前發(fā)生的修改;數(shù)據(jù)庫變化的頻率不大。 數(shù)據(jù)庫備份方法應(yīng)該與其他幾種備份方法相互結(jié)合,才能最大程度地實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的保護。121 數(shù)據(jù)庫的備份2差異數(shù)據(jù)庫備份 差異數(shù)據(jù)庫備份是指

12、對最近一次完整數(shù)據(jù)庫備份以來的變更數(shù)據(jù)進行備份,因此差異備份實際上是一種增量數(shù)據(jù)庫備份。 與完整數(shù)據(jù)庫備份相比,差異數(shù)據(jù)庫備份數(shù)據(jù)量小、備份速度快、備份和恢復(fù)所用的時間較短。 經(jīng)常采用這種類型的備份方法,可以減少丟失數(shù)據(jù)的危險。121 數(shù)據(jù)庫的備份 在實際中為了最大限度地減少數(shù)據(jù)庫還原時間以及降低數(shù)據(jù)損失量。可以采取數(shù)據(jù)庫備份、事務(wù)日志備份和差異備份混合使用的備份方案: 首先有規(guī)律地進行數(shù)據(jù)庫備份,如每日進行備份;其次以較小的時間間隔進行差異備份,如34個小時進行一次備份;最后在兩次差異備份之間進行事務(wù)日志備份,如30分鐘進行一次備份。 在進行還原時,可以先還原最近一次的數(shù)據(jù)庫備份,接著進行差

13、異備份的還原,最后進行事務(wù)日志備份的還原。121 數(shù)據(jù)庫的備份3事務(wù)日志備份 事務(wù)日志備份是指對數(shù)據(jù)庫從上次進行事務(wù)日志備份、差異數(shù)據(jù)庫備份和完整數(shù)據(jù)庫備份后,所有發(fā)生且已完成的事務(wù)進行的備份。 一般情況下,由于這類備份僅對數(shù)據(jù)庫的事務(wù)日志進行備份,因此,其占用的資源比完整數(shù)據(jù)庫備份的少。若數(shù)據(jù)庫的事務(wù)率很高,導(dǎo)致事務(wù)日志迅速增大,備份所占用的資源就可能比完整數(shù)據(jù)庫備份的大。事務(wù)日志的備份及恢復(fù)相對比較復(fù)雜。121 數(shù)據(jù)庫的備份系統(tǒng)管理員在以下情況,應(yīng)選擇事務(wù)日志備份。不允許在最近一次數(shù)據(jù)庫備份之后發(fā)生數(shù)據(jù)丟失或損壞現(xiàn)象;存儲備份文件的磁盤空間很小或者留給進行備份操作的時間有限;準(zhǔn)備把數(shù)據(jù)庫恢

14、復(fù)到發(fā)生失敗的前一點;數(shù)據(jù)庫變化較為頻繁。121 數(shù)據(jù)庫的備份4文件和文件組備份 文件或文件組備份是指對數(shù)據(jù)庫中指定的文件或文件夾進行備份。 在進行完文件或文件組備份后應(yīng)再進行事務(wù)日志備份。 在使用文件或文件組進行恢復(fù)時,仍要求有一個自上次備份以來的事務(wù)日志備份來保證數(shù)據(jù)庫的一致性,否則在文件或文件組備份中的數(shù)據(jù)變更將無法恢復(fù)。121 數(shù)據(jù)庫的備份1214 備份操作1備份策略 創(chuàng)建備份的目的是為了最大程度地恢復(fù)數(shù)據(jù)庫系統(tǒng)。因此,在具體備份數(shù)據(jù)庫前,應(yīng)制定備份和還原策略。 備份和還原的策略包含備份部分和還原部分。 備份部分的策略應(yīng)確定備份的類型和備份的頻率、備份所需的硬件特性和速度、備份設(shè)備以及

15、備份的驗證方法等。121 數(shù)據(jù)庫的備份2使用SQL Server Management Studio進行備份 在Microsoft SQL Server Management Studio窗口的對象資源管理器中,右擊“RSGLXT”,在彈出的快捷菜單中,單擊“任務(wù)”“備份”;打開“備份數(shù)據(jù)庫”對話框,如圖12-4所示。121 數(shù)據(jù)庫的備份圖12-4 備份數(shù)據(jù)庫-常規(guī)121 數(shù)據(jù)庫的備份 在“備份數(shù)據(jù)庫”對話框的“常規(guī)”選項卡中,選擇要備份的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫;備份的類型完整、差異或事務(wù)日志;備份組件數(shù)據(jù)庫、文件和文件組;確定備份集的名稱、說明、備份集的過期時間;選擇備份的設(shè)備。 在選

16、擇不同的要備份的數(shù)據(jù)庫時,備份的恢復(fù)模式將相應(yīng)的自動確定。數(shù)據(jù)庫的恢復(fù)模式可在“數(shù)據(jù)庫屬性”對話框的“選項”選項卡中進行選擇或修改。121 數(shù)據(jù)庫的備份 恢復(fù)模式旨在控制事務(wù)日志維護?;謴?fù)模式有3種:SIMPLE、FULL、BULK_LOGGED。SIMPLE(簡單模式):該模式不備份事務(wù)日志,可最大程度地減少事務(wù)日志的管理開銷。如果數(shù)據(jù)庫損壞,則簡單恢復(fù)模式將面臨極大的工作丟失風(fēng)險。數(shù)據(jù)只能恢復(fù)到已丟失數(shù)據(jù)的最新備份。 因此,在簡單恢復(fù)模式下,備份間隔應(yīng)盡可能短,以防止大量丟失數(shù)據(jù)。但是,間隔的長度應(yīng)該足以避免備份開銷影響生產(chǎn)工作。在備份策略中加入差異備份可有助于減少開銷。121 數(shù)據(jù)庫的備

17、份 通常,對于用戶數(shù)據(jù)庫,簡單恢復(fù)模式用于測試和開發(fā)數(shù)據(jù)庫,或用于主要包含只讀數(shù)據(jù)的數(shù)據(jù)庫(如數(shù)據(jù)倉庫)。簡單恢復(fù)模式并不適合生產(chǎn)系統(tǒng),因為對生產(chǎn)系統(tǒng)而言,丟失最新的更改是無法接受的。FULL(完整模式):此模式完整記錄所有事務(wù),并將事務(wù)日志記錄保留到對其備份完畢為止。如果能夠在出現(xiàn)故障后備份日志尾部,則可以使用完整恢復(fù)模式將數(shù)據(jù)庫恢復(fù)到故障點。121 數(shù)據(jù)庫的備份BULK_LOGGEG(大容量日志模式):此模式可作為完整模式的補充。對于某些大規(guī)模大容量的操作(如大容量導(dǎo)入或索引創(chuàng)建),暫時切換到大容量日志恢復(fù)模式可提高性能并減少日志空間使用量。 在此模式下仍需要進行日志備份。與完整模式相同,

18、大容量日志模式也將事務(wù)日志記錄保留到對其備份完畢為止。121 數(shù)據(jù)庫的備份 由于大容量日志恢復(fù)模式不支持時點恢復(fù),因此必須在增大日志備份與增加工作丟失風(fēng)險之間進行權(quán)衡。 在各選項確定后,單擊“確定”按鈕,完成數(shù)據(jù)庫的備份。121 數(shù)據(jù)庫的備份3數(shù)據(jù)庫備份選項的設(shè)置 進行數(shù)據(jù)庫備份時,可在“備份數(shù)據(jù)庫”對話框的“選項”選項卡中(如圖12-5所示),設(shè)置備份選項。121 數(shù)據(jù)庫的備份圖12-5 備份數(shù)據(jù)庫-選項121 數(shù)據(jù)庫的備份追加到現(xiàn)有備份集:將備份集追加到現(xiàn)有媒體集,并保留以前的所有備份;覆蓋所有現(xiàn)有備份集:將現(xiàn)有媒體集上以前的所有備份替換為當(dāng)前備份。檢查媒體集名稱和備份集過期時間:根據(jù)需要

19、,可以要求備份操作驗證備份集的名稱和過期時間。121 數(shù)據(jù)庫的備份媒體集名稱:當(dāng)選擇“檢查媒體集名稱和備份集過期時間”時,此選項才可用。輸入用于檢查媒體集名稱和備份集過期的媒體集名稱。備份到新媒體集并清除所有現(xiàn)有備份集:使用新媒體集,并清除以前的備份集。確定備份的可靠性。121 數(shù)據(jù)庫的備份4使用T-SQL語句進行備份 使用T-SQL語言的BACKUP DATABASE語句可以備份完整數(shù)據(jù)庫或文件和文件組;在完整恢復(fù)模式或大容量日志恢復(fù)模式下,使用BACKUP LOG語句備份事務(wù)日志。BACKUP語句的語法形式有所不同。121 數(shù)據(jù)庫的備份備份整個數(shù)據(jù)庫的語法如下:BACKUP DATABAS

20、E database_name | database_name_varTO backup_device,.nWITH DIFFERENTIAL ,F(xiàn)ORMATNOFORMAT , INIT | NOINIT , NOSKIP | SKIP 121 數(shù)據(jù)庫的備份備份文件或文件組的語法如下:BACKUP DATABASE database_name | database_name_var ,.n TO backup_device ,nWITH DIFFERENTIAL ,F(xiàn)ORMAT | NOFORMAT ,INIT | NOINIT ,NOSKIP | SKIP 121 數(shù)據(jù)庫的備份備份事務(wù)日志

21、的語法如下:BACKUP LOG database_name | datahase_name_varTObackup_device,.nWITH FORMAT | NOFORMAT , INIT | NOINIT , NOSKIP | SKIP 121 數(shù)據(jù)庫的備份 在上述3個語法形式中,有關(guān)參數(shù)的含義如下: database_name | database_name_var:要進行事務(wù)日志、部分?jǐn)?shù)據(jù)庫或完整的數(shù)據(jù)庫備份的數(shù)據(jù)庫;backup_device:指定備份操作時要使用的邏輯或物理備份設(shè)備;FILE = logical_file_name | logical_file_name_var

22、 :給一個或多個包含在數(shù)據(jù)庫備份中的文件命名;121 數(shù)據(jù)庫的備份FILEGROUP = logical_filegroup_name | logical_fitegroup_name_var:給一個或多個包含在數(shù)據(jù)庫備份中的文件組命名。文件或文件名備份必須至少包括FILE或FILEGROUP子句之一;DIFFERENTIAL:差異備份必須包括此子句。指定數(shù)據(jù)庫備份或文件備份應(yīng)該與上一次完整備份后改變的數(shù)據(jù)庫或文件部分保持一致。:差異備份一般會比完整備份占用更少的空間;121 數(shù)據(jù)庫的備份FORMAT:指定應(yīng)將媒體頭寫入用于此備份操作的所有卷。任何現(xiàn)有的媒體頭都被重寫。FORMAT選項使整個媒

23、體內(nèi)容無效,并且忽略任何現(xiàn)有的內(nèi)容;NOFORMAT:指定媒體頭不應(yīng)寫入所有用于該備份操作的卷中,并且不要重寫該備份設(shè)備,除非指定了INIT;INIT:指定應(yīng)重寫所有備份集,但是保留媒體頭。如果指定了INIT,將重寫那個設(shè)備上的所有現(xiàn)有的備份集數(shù)據(jù)。121 數(shù)據(jù)庫的備份NOINIT:表示備份集將追加到指定的磁盤或磁帶設(shè)備上,以保留現(xiàn)有的備份集。NOINIT是默認(rèn)設(shè)置。NOSKIP:指示BACKUP語句在可以重寫媒體上的所有備份集之前先檢查它們的過期日期。SKIP:禁用備份集過期和名稱檢查,這些檢查一般由BACKUP語句執(zhí)行以防重寫備份集。121 數(shù)據(jù)庫的備份(2)使用T-SQL語句備份數(shù)據(jù)庫示

24、例示例2:將RSGLXT數(shù)據(jù)庫完整地備份到備份設(shè)備SQLBackup_RSGLXT1(e:RSGLXT.bak)中。在“查詢”窗口編寫代碼:BACKUP DATABASE RSGLXT TO DISK = e:RSGLXT.bakWITH FORMAT;GO單擊“執(zhí)行”按鈕,備份運行結(jié)果,如圖12-6所示。121 數(shù)據(jù)庫的備份圖12-6 完整數(shù)據(jù)庫備份結(jié)果121 數(shù)據(jù)庫的備份示例3:將RSGLXT數(shù)據(jù)庫的事務(wù)日志RSGLXT_log寫入備份設(shè)備。在“查詢”窗口編寫代碼:BACKUP LOG RSGLXTTO DISK = e:RSGLXT.bak 單擊“執(zhí)行”按鈕,備份運行結(jié)果,如圖12-7所

25、示。121 數(shù)據(jù)庫的備份圖12-7 事務(wù)日志備份結(jié)果121 數(shù)據(jù)庫的備份示例4:將RSGLXT數(shù)據(jù)庫中的“PRIMART”文件夾寫入備份設(shè)備。在“查詢”窗口中編寫代碼:BACKUP DATABASE RSGLXTFILEGROUP = PRIMARYTO DISK = e:RSGLXT.bak 單擊“執(zhí)行”按鈕,備份運行結(jié)果,如圖12-8所示。121 數(shù)據(jù)庫的備份圖12-8 文件夾備份結(jié)果122 數(shù)據(jù)庫的恢復(fù) 數(shù)據(jù)庫系統(tǒng)運行時,可能會出現(xiàn)各種各樣的故障,使數(shù)據(jù)庫中的數(shù)據(jù)丟失或遭到破壞。SQL Server系統(tǒng)采取一系列措施確保數(shù)據(jù)盡可能不丟失、不破壞,將數(shù)據(jù)庫恢復(fù)到最近一個正確的狀態(tài),DBMS

26、的這種能力稱為數(shù)據(jù)庫的可恢復(fù)性(Recovery)。 SQL Server 2005 支持的還原方案如下。數(shù)據(jù)庫完整還原:還原整個數(shù)據(jù)庫,將從完整數(shù)據(jù)庫備份開始,然后還原差異數(shù)據(jù)庫備份和日志備份。122 數(shù)據(jù)庫的恢復(fù)文件還原:還原多文件組數(shù)據(jù)庫中的文件或文件組。在簡單恢復(fù)模式下,此文件必須屬于只讀文件組。完整文件還原之后,便可還原差異文件備份。頁面還原:還原單個頁面。頁面還原僅在完整恢復(fù)模式和大容量日志恢復(fù)模式下可用。段落還原:從主文件組和一個或多個輔助文件組開始,分階段還原數(shù)據(jù)庫。段落還原將從 RESTORE DATABASE 開始,使用 PARTIAL 選項并指定一個或多個要還原的輔助文件

27、組。122 數(shù)據(jù)庫的恢復(fù)僅恢復(fù):恢復(fù)那些已經(jīng)與數(shù)據(jù)庫保持一致且只需使其可用的數(shù)據(jù)。事務(wù)日志還原:在完整恢復(fù)模式或大容量日志恢復(fù)模式下,必須還原日志備份才能到達所需的恢復(fù)點。122 數(shù)據(jù)庫的恢復(fù) 從某種意義上講,數(shù)據(jù)庫的恢復(fù)比備份更重要。執(zhí)行數(shù)據(jù)庫恢復(fù)以前,應(yīng)注意以下兩點:在數(shù)據(jù)庫恢復(fù)前,應(yīng)該刪除故障數(shù)據(jù)庫,以便刪除對故障數(shù)據(jù)庫的任何引用;數(shù)據(jù)庫恢復(fù)之前,必須限制用戶對數(shù)據(jù)庫的訪問,數(shù)據(jù)庫的恢復(fù)是靜態(tài)的,應(yīng)使用SQL Server Management Studio或系統(tǒng)存儲過程sp_dbotion設(shè)置數(shù)據(jù)庫為單用戶。122 數(shù)據(jù)庫的恢復(fù) 從數(shù)據(jù)庫備份中恢復(fù)數(shù)據(jù),可以使用SQL Server M

28、anagement Studio,也可以使用T-SQL語句進行恢復(fù)。122 數(shù)據(jù)庫的恢復(fù)1221 使用SQL Server Management Studio恢復(fù)數(shù)據(jù)庫備份1恢復(fù)數(shù)據(jù)庫 在Microsoft SQL Server Management Studio窗口的對象資源管理器中,右擊要還原的數(shù)據(jù)庫;在彈出的快捷菜單中,單擊“任務(wù)”“還原”“數(shù)據(jù)庫”,打開“還原數(shù)據(jù)庫”對話框,如圖12-9所示。122 數(shù)據(jù)庫的恢復(fù)圖12-9 還原數(shù)據(jù)庫常規(guī)122 數(shù)據(jù)庫的恢復(fù) 在“還原數(shù)據(jù)庫”對話框的“常規(guī)”選項卡中,選擇要還原的數(shù)據(jù)庫、要還原到的時間點、源數(shù)據(jù)庫、用于還原的備份集等;單擊“確定”按鈕,

29、系統(tǒng)開始數(shù)據(jù)庫的還原。122 數(shù)據(jù)庫的恢復(fù)2恢復(fù)數(shù)據(jù)庫文件或文件組 在Microsoft SQL Server Management Studio窗口的對象資源管理器中,右擊要還原的數(shù)據(jù)庫;在彈出的快捷菜單中,單擊“任務(wù)”“還原”“文件和文件組”,打開“還原文件和文件組”對話框。 “還原文件和文件組”對話框的“常規(guī)”選項卡,以及還原的選擇內(nèi)容、方式與數(shù)據(jù)庫的恢復(fù)相似。122 數(shù)據(jù)庫的恢復(fù)3數(shù)據(jù)庫還原選項的設(shè)置 在“還原數(shù)據(jù)庫/還原文件和文件組”對話框的“選項”選項卡(如圖12-10所示),可以指定用于還原備份的其他選項。122 數(shù)據(jù)庫的恢復(fù)圖12-10 還原數(shù)據(jù)庫-選項122 數(shù)據(jù)庫的恢復(fù)覆蓋

30、現(xiàn)有數(shù)據(jù)庫:指定還原操作應(yīng)覆蓋所有現(xiàn)有數(shù)據(jù)庫及其相關(guān)文件,即使已存在同名的其他數(shù)據(jù)庫或文件。選擇此選項等效于在RESTORE語句中使用REPLACE選項;保留復(fù)制設(shè)置:將已發(fā)布的數(shù)據(jù)庫還原到創(chuàng)建該數(shù)據(jù)庫的服務(wù)器之外的服務(wù)器時,保留復(fù)制設(shè)置;122 數(shù)據(jù)庫的恢復(fù)還原每個備份之前進行提示:在還原每個備份設(shè)置前要求進行確認(rèn)。如果對于不同的媒體集,則必須更換磁帶,例如在服務(wù)器具有一個磁帶設(shè)備時,此選項非常有用;限制訪問還原的數(shù)據(jù)庫:使還原的數(shù)據(jù)庫僅供db_owner、dbcreator或sysadmin的成員使用。選擇此選項等效于在RESTORE語句中使用RESTRICTED_USER選項。122 數(shù)

31、據(jù)庫的恢復(fù)1222 使用T-SQL語句進行數(shù)據(jù)庫的恢復(fù) 使用T-SQL的RESTORE語句可以還原使用 BACKUP 命令所做的備份。包括:基于完整數(shù)據(jù)庫備份還原整個數(shù)據(jù)庫(完整還原);還原數(shù)據(jù)庫的一部分(部分還原);將特定文件、文件組或頁面還原到數(shù)據(jù)庫(文件還原或頁面還原);將事務(wù)日志還原到數(shù)據(jù)庫(事務(wù)日志還原)等。122 數(shù)據(jù)庫的恢復(fù)1RESTORE語句的語法還原完整數(shù)據(jù)庫的語法如下:RESTORE DATABASE database_name | database_name_var FROM backup_device,.nWITHFILE = file_number | file_nu

32、mber ,NORFXDVERY | RECDVERY | STANDBY = undo_file_nam, REPLACE122 數(shù)據(jù)庫的恢復(fù)還原數(shù)據(jù)庫部分內(nèi)容的語法如下:RESTORE DATABASE database_name | database_name_varfile_or_filegroup,.nFROMbackup_device,.nWITHPARTIAL ,F(xiàn)ILE = file_number | file_number ,NORECOVERY122 數(shù)據(jù)庫的恢復(fù)還原文件或文件組的語法如下:RESTORE DATABASEdatabase_name | database_n

33、ame_varfile_or_filegroup,.nFROM backup_device,.nWITHFILE = fi1e_number | file_number ,NORECOVERY122 數(shù)據(jù)庫的恢復(fù)還原事務(wù)日志的語法如下:RESTORE LOG database_name | database_name_varFROM backup_device,.nWITHFILE = file_number | file_number ,NORECOVERY | RECOVERY | STANDBY = undo_file_name,STOPAT = date_time | date_tim

34、e_var122 數(shù)據(jù)庫的恢復(fù) 在上述4個語法形式中,有關(guān)參數(shù)的含義如下:database_name | database_name_var:指定了將日志或整個數(shù)據(jù)庫備份還原后的數(shù)據(jù)庫名稱。backup_device:指定還原操作要使用的邏輯或物理備份設(shè)備。file_or_filegroup:指定包括在數(shù)據(jù)庫還原中的邏輯文件或文件組的名稱。可以指定多個文件或文件組。122 數(shù)據(jù)庫的恢復(fù)FILE = file_number | file_number:標(biāo)識要還原的備份集。NORECOVERY:指示還原操作不回滾任何未提交的事務(wù)。如果需要應(yīng)用另一個事務(wù)日志,則必須指定NORECOVERY或STAN

35、DBY選項。如果NORECOVERY、RECOVERY和STANDBY均未指定,則默認(rèn)為RECOVERY。RECOVERY:指示還原操作回滾未提交的事務(wù)。在恢復(fù)進程后即可隨時使用數(shù)據(jù)庫。122 數(shù)據(jù)庫的恢復(fù)PARTIAL:指定部分還原操作。STOPAT = date_time | date_time_var:指定將數(shù)據(jù)庫還原到指定的。日期和時間時的狀態(tài)。只有在指定的日期和時間前寫入的事務(wù)日志記錄才能應(yīng)用于數(shù)據(jù)庫。122 數(shù)據(jù)庫的恢復(fù)2恢復(fù)數(shù)據(jù)庫備份示例5:從SQLBackup_RSGLXT1邏輯備份設(shè)備,還原數(shù)據(jù)庫“RSGLXT”的完整數(shù)據(jù)庫備份。在“查詢”窗口中編寫語句:RESTORE DA

36、TABASE RSGLXT FROM SQLBackup_RSGLXT1WITH REPLACE單擊“執(zhí)行”按鈕,恢復(fù)備份的運行結(jié)果,如圖12-11所示。122 數(shù)據(jù)庫的恢復(fù)圖12-11 數(shù)據(jù)庫備份恢復(fù)122 數(shù)據(jù)庫的恢復(fù) 使用RESTORE DATABASE語句恢復(fù)整個數(shù)據(jù)庫時,如果要在還原數(shù)據(jù)庫備份后應(yīng)用事務(wù)日志或差異數(shù)據(jù)庫備份,則需要指定NORECOVERY子句。 如果備份設(shè)備上有多個備份集,可以使用FILE子句指定文件號標(biāo)識需要從哪個備份集中恢復(fù)數(shù)據(jù)庫。122 數(shù)據(jù)庫的恢復(fù) 從差異數(shù)據(jù)庫備份中恢復(fù)數(shù)據(jù)時,首先必須執(zhí)行RESTORE DATABASE并指定NORECOVERY子句,以恢復(fù)

37、差異數(shù)據(jù)庫備份之前的完整數(shù)據(jù)庫備份。然后再執(zhí)行一次RESTORE DATABASE恢復(fù)差異數(shù)據(jù)庫備份,并同時需要指定數(shù)據(jù)庫名稱和要從其中恢復(fù)差異數(shù)據(jù)庫備份的備份設(shè)備。 如果在執(zhí)行完差異數(shù)據(jù)庫備份恢復(fù)以后還要應(yīng)用事務(wù)日志備份,則還必須同時指定NORECOVERY子句,否則指定RECOVERY子句。122 數(shù)據(jù)庫的恢復(fù) 還原差異數(shù)據(jù)庫備份的順序為:先還原最新的完整數(shù)據(jù)庫備份,然后還原最后一次的差異數(shù)據(jù)庫備份。122 數(shù)據(jù)庫的恢復(fù) 執(zhí)行RESTORE LOG語句,可進行由事務(wù)日志備份恢復(fù)數(shù)據(jù)庫的工作。 還原事務(wù)日志備份的步驟為:還原事務(wù)日志備份之前的完整數(shù)據(jù)庫備份或差異數(shù)據(jù)庫備份。按順序恢復(fù)自完整數(shù)

38、據(jù)庫備份或差異數(shù)據(jù)庫以后創(chuàng)建的所有事務(wù)日志。撤銷所有未完成的事務(wù)。122 數(shù)據(jù)庫的恢復(fù) 如果恢復(fù)當(dāng)前事務(wù)日志備份后還要應(yīng)用其他事務(wù)日志備份,則在執(zhí)行RESTORE LOG時還要指定NORECOVERY子句;否則,指定RECOVERY子句以恢復(fù)服務(wù)器的運行狀態(tài)。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 在創(chuàng)建和使用SQL Server數(shù)據(jù)庫的過程中,數(shù)據(jù)的導(dǎo)入、導(dǎo)出是非常普遍的操作。 在對各種數(shù)據(jù)庫系統(tǒng)所管理的格式各不相同、存儲于不同地方的數(shù)據(jù)進行集中分析時,首先需要將數(shù)據(jù)轉(zhuǎn)換為同一種格式。 數(shù)據(jù)轉(zhuǎn)換可以將數(shù)據(jù)由A格式轉(zhuǎn)換為B格式,反之亦然。 數(shù)據(jù)在由A格式轉(zhuǎn)換為B格式時,對B格式數(shù)據(jù)而言,則可稱之為數(shù)據(jù)的導(dǎo)入,

39、對A格式的數(shù)據(jù)而言,則可稱之為數(shù)據(jù)的導(dǎo)出。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出1231 概述 Microsoft SQL Server 2005允許在 SQL Server 數(shù)據(jù)表和數(shù)據(jù)文件之間大容量導(dǎo)入和導(dǎo)出數(shù)據(jù)(“大容量數(shù)據(jù)”)。這對在 SQL Server 和異類數(shù)據(jù)源之間有效傳輸數(shù)據(jù)是非常重要的。 “大容量導(dǎo)出”是指將數(shù)據(jù)從 SQL Server 表復(fù)制到數(shù)據(jù)文件。 “大容量導(dǎo)入”是指將數(shù)據(jù)從數(shù)據(jù)文件加載到 SQL Server 表。如用戶可以將數(shù)據(jù)從 Microsoft Excel 應(yīng)用程序?qū)С龅綌?shù)據(jù)文件,然后將這些數(shù)據(jù)大容量導(dǎo)入到 SQL Server 表中。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出1數(shù)據(jù)導(dǎo)入與導(dǎo)

40、出的方法 在Microsoft SQL Server 2005中,從 SQL Server 表中大容量導(dǎo)出數(shù)據(jù)的基本方法是使用大容量導(dǎo)出數(shù)據(jù)并生成格式化文件的命令行bcp 實用工具(Bcp.exe)。 在Microsoft SQL Server 2005中,將大容量數(shù)據(jù)導(dǎo)入SQL Server 表或未分區(qū)的視圖的基本方法包括:大容量導(dǎo)入數(shù)據(jù)并生成格式化文件的命令行bcp實用工具(Bcp.exe);123 數(shù)據(jù)導(dǎo)入與導(dǎo)出將數(shù)據(jù)直接從數(shù)據(jù)文件導(dǎo)入數(shù)據(jù)庫表或未分區(qū)視圖的BULK INSERT 語句;通過在INSERT語句中指定 OPENROWSET(BULK.)函數(shù)選擇數(shù)據(jù),從而使用 OPENROW

41、SET 大容量行集提供程序,將數(shù)據(jù)大容量導(dǎo)入SQL Server 表的INSERT.SELECT * FROM OPENROWSET(BULK.)語句。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出bcp實用工具、BULK INSERT 語句和INSERT.SELECT * FROM OPENROWSET(BULK.)語句的語法均較為復(fù)雜,具體可參考有關(guān)資料。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出2導(dǎo)入大容量數(shù)據(jù)的基本原則 在將數(shù)據(jù)文件中的數(shù)據(jù)大容量導(dǎo)入到 Microsoft SQL Server 實例時,請使用以下原則:設(shè)置權(quán)限。使用 bcp 實用工具、BULK INSERT 語句或 INSERT .SELECT * FROM O

42、PENROWSET(BULK.) 語句的用戶帳戶必須具有表的所需權(quán)限,這些權(quán)限由表所有者分配。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出使用大容量日志恢復(fù)模式。此原則適用于使用完整恢復(fù)模式的數(shù)據(jù)庫。在執(zhí)行大容量導(dǎo)入操作之前,先將數(shù)據(jù)庫更改為使用大容量日志恢復(fù)模式。之后應(yīng)立即將數(shù)據(jù)庫重設(shè)為完整恢復(fù)模式。大容量導(dǎo)入數(shù)據(jù)后進行備份。對于使用簡單恢復(fù)模式的數(shù)據(jù)庫,用戶在大容量導(dǎo)入操作完成后執(zhí)行完整備份或差異備份。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出刪除表索引。在導(dǎo)入的數(shù)據(jù)量與表中已有數(shù)據(jù)量相比很大時,刪除表中的索引可顯著提高性能。 注意: 如果加載的數(shù)據(jù)量與表中已有的數(shù)據(jù)量相比較小時,刪除索引會適得其反。因為重建索引所需的時間可能要比

43、大容量導(dǎo)入操作期間所節(jié)省的時間更長。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出查找并刪除數(shù)據(jù)文件中的隱藏字符。許多實用工具和文本編輯器都會顯示隱藏字符,這些隱藏字符通常位于數(shù)據(jù)文件末尾。 在大容量導(dǎo)入操作期間,ASCII 數(shù)據(jù)文件中的隱藏字符會導(dǎo)致問題,這些問題會引發(fā)“發(fā)現(xiàn)意外空字符”錯誤。查找并刪除所有隱藏字符有助于避免此問題。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出3注意事項 如果用戶不確定應(yīng)如何針對大容量導(dǎo)入設(shè)置數(shù)據(jù)文件的格式,則可以使用 bcp 實用工具將數(shù)據(jù)從表導(dǎo)出到數(shù)據(jù)文件中。 此文件中每個數(shù)據(jù)字段的格式均顯示了將數(shù)據(jù)大容量導(dǎo)入對應(yīng)表列時所要求的格式。對數(shù)據(jù)文件的各個字段使用相同的數(shù)據(jù)格式。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出(1

44、)大容量導(dǎo)出的數(shù)據(jù)文件格式注意事項 在使用 bcp 命令執(zhí)行大容量導(dǎo)出操作之前,應(yīng)考慮以下事項:將數(shù)據(jù)導(dǎo)出到文件時,bcp 命令使用指定的文件名自動創(chuàng)建數(shù)據(jù)文件。如果該文件名已經(jīng)存在,正在大容量復(fù)制到數(shù)據(jù)文件的數(shù)據(jù)將覆蓋文件中的現(xiàn)有內(nèi)容。從表或視圖大容量導(dǎo)出到數(shù)據(jù)文件要求對正在大容量復(fù)制的表或視圖具有 SELECT 權(quán)限。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出Microsoft SQL Server 可以使用并行掃描檢索數(shù)據(jù)。因此,通常不保證從 SQL Server 實例大容量導(dǎo)出的表行在數(shù)據(jù)文件中按特定順序排列。為了確保大容量導(dǎo)出的表行在數(shù)據(jù)文件中按特定順序排列,請使用 queryout 選項來通過查詢進行

45、大容量導(dǎo)出,并指定一個 ORDER BY 子句。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出(2)大容量導(dǎo)入的數(shù)據(jù)文件格式要求 為了導(dǎo)入數(shù)據(jù)文件中的數(shù)據(jù),該文件必須滿足以下基本要求:數(shù)據(jù)必須以行和列的格式表示。 注意:數(shù)據(jù)文件的結(jié)構(gòu)不必與 SQL Server 表的結(jié)構(gòu)一致,因為大容量導(dǎo)入過程中可以跳過列或?qū)α兄匦屡判颉?shù)據(jù)文件中的數(shù)據(jù)格式必須是支持的格式,例如字符格式或本機格式。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出數(shù)據(jù)可以是字符格式或本機二進制格式(包括 Unicode)。為了使用 bcp 命令、BULK INSERT 語句或 INSERT . SELECT * FROM OPENROWSET(BULK.) 語句導(dǎo)入數(shù)據(jù),目標(biāo)

46、表必須已存在。數(shù)據(jù)文件中的每個字段都必須與目標(biāo)表中的對應(yīng)列兼容。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出若要從SQL Server 外部,如從Visual FoxPro表(.dbf)文件或者Microsoft Excel工作表(.xls)文件導(dǎo)入數(shù)據(jù),應(yīng)先將數(shù)據(jù)轉(zhuǎn)換為逗號分隔值(CSV)文件,才可以在 SQL Server 執(zhí)行大容量導(dǎo)入操作。若要從包含固定長度或固定寬度字段的數(shù)據(jù)文件導(dǎo)入數(shù)據(jù),則必須使用格式化文件。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 此外,在將數(shù)據(jù)文件中的數(shù)據(jù)大容量導(dǎo)入表中時,還有注意:用戶必須對表具有 INSERT 和 SELECT 權(quán)限。如果用戶需要執(zhí)行數(shù)據(jù)定義語言(DDL)操作(例如禁用約束)時,應(yīng)

47、具有 ALTER TABLE 權(quán)限。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出使用BULK INSERT 或 INSERT . SELECT * FROM OPENROWSET(BULK.) 大容量導(dǎo)入數(shù)據(jù)時,必須可以通過 SQL Server 進程的安全性配置文件(如果用戶使用 SQL Server 提供的登錄名進行登錄)或在委托安全性下使用的 Microsoft Windows 登錄名對數(shù)據(jù)文件進行讀取操作。此外,用戶還必須具有 ADMINISTER BULK OPERATIONS 權(quán)限以讀取文件。 注意:由于不支持大容量導(dǎo)入到分區(qū)視圖,因此無法將數(shù)據(jù)大容量導(dǎo)入到分區(qū)視圖。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出1232 使用

48、SQL Server Management Studio導(dǎo)出與導(dǎo)入數(shù)據(jù) 在SQL Server 2005中,使用SQL Server Management Studio可以很方便地進行數(shù)據(jù)的導(dǎo)出或?qū)?。?shù)據(jù)的導(dǎo)入與導(dǎo)出過程類似。 下面以將RSGLXT數(shù)據(jù)庫中的Employees數(shù)據(jù)表導(dǎo)出到Excel工作表為例,具體介紹導(dǎo)出數(shù)據(jù)的方法。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 在Microsoft SQL Server Management Studio窗口的對象資源管理器中,右擊RSGLXT數(shù)據(jù)庫;在彈出的快捷菜單中,單擊“任務(wù)”“導(dǎo)出數(shù)據(jù)”選項,如圖12-12所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-12 選擇“導(dǎo)

49、出數(shù)據(jù)”選項 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 打開“SQL Server導(dǎo)入和導(dǎo)出向?qū)А睂υ捒?,如圖12-13所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-13 SQL Server導(dǎo)入與導(dǎo)出向?qū)?123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“下一步”按鈕,打開“選擇數(shù)據(jù)源”對話框,如圖12-14所示。從中選擇數(shù)據(jù)源為“Microsoft OLE DB Provider for SQL Server”,同時選擇數(shù)據(jù)庫服務(wù)器名和身份驗證方式。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-14 “選擇數(shù)據(jù)源”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“下一步”按鈕,打開“選擇目標(biāo)”對話框(如圖12-15所示),從中選擇導(dǎo)出數(shù)據(jù)的類型、目標(biāo)文件的存儲路徑

50、和版本。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-15 “選擇目標(biāo)”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“下一步”按鈕,打開“指定表復(fù)制或查詢”對話框(如圖12-16所示),在此選擇“復(fù)制一個或多個表或視圖的數(shù)據(jù)”選項。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-16 “指定表復(fù)制或查詢”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“下一步”按鈕,打開“選擇源表和源視圖”對話框(如圖12-17所示),從中選擇準(zhǔn)備導(dǎo)出數(shù)據(jù)的數(shù)據(jù)表。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-17 “選擇源表和源視圖”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 選定數(shù)據(jù)表后,單擊“編輯”按鈕,打開“列映射”對話框(如圖12-18所示),在此選擇默認(rèn)設(shè)置;單擊“確定”

51、按鈕,返回“選擇源表和源視圖”對話框。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-18 “列映射”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“下一步”按鈕,打開“保存并執(zhí)行包”對話框(如圖12-19所示),在此選擇“立即執(zhí)行”復(fù)選框。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-19 “保存并執(zhí)行包”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“下一步”按鈕,打開“完成該向?qū)А睂υ捒?如圖12-20所示),驗證任務(wù)選項。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-20 “完成該向?qū)А睂υ捒?123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 單擊“完成”按鈕,執(zhí)行數(shù)據(jù)導(dǎo)出任務(wù),數(shù)據(jù)導(dǎo)出完成后,顯示“執(zhí)行成功”界面,如圖12-21所示。 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-21

52、數(shù)據(jù)導(dǎo)出執(zhí)行結(jié)果 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出示例6:現(xiàn)有純文本文件courses.txt,數(shù)據(jù)如下(數(shù)據(jù)之間以“逗號”分隔)。課程編號,課程名稱,學(xué)分0014,離散數(shù)學(xué),20015,電子技術(shù),30016,軟件工程,30017,數(shù)據(jù)結(jié)構(gòu),40018,計算機網(wǎng)絡(luò)技術(shù)基礎(chǔ),2 使用SQL Server Management Studio將courses.txt導(dǎo)入到數(shù)據(jù)庫JXGLXT的CURRICULUM數(shù)據(jù)表中。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出 操作步驟如下:在Microsoft SQL Server Management Studio窗口的對象資源管理器中,右擊JXGLXT數(shù)據(jù)庫;在彈出的快捷菜單中,單擊“任

53、務(wù)”“導(dǎo)出數(shù)據(jù)”選項,如圖12-22所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-22 選擇“導(dǎo)入數(shù)據(jù)”選項 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出打開“SQL Server導(dǎo)入和導(dǎo)出向?qū)А睂υ捒蚝?,單擊“下一步”按鈕,打開“選擇數(shù)據(jù)源”對話框,在“數(shù)據(jù)源”下拉列表中,選擇“平面文件源”;選定欲導(dǎo)入文件名;確定導(dǎo)入文件的格式,如圖12-23所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-23 “選擇數(shù)據(jù)源”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出單擊“下一步”按鈕,打開“選擇目標(biāo)”對話框,選擇目標(biāo)數(shù)據(jù)庫,如圖12-24所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-24 “選擇目標(biāo)數(shù)據(jù)庫”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出單擊“下一步”按鈕,打開“選擇源表

54、和源視圖”對話框,在“目標(biāo)”下拉列表中選擇欲導(dǎo)入數(shù)據(jù)的數(shù)據(jù)表,如圖12-25所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-25 “選擇目標(biāo)數(shù)據(jù)表”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出選定目標(biāo)數(shù)據(jù)表后,可單擊“編輯”按鈕,打開“列映射”對話框,用戶可根據(jù)需要選擇“刪除目標(biāo)表中的行”替換目標(biāo)表中的數(shù)據(jù),或選擇“向目標(biāo)表中追加行”添加數(shù)據(jù),如圖12-26所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-26 “列映射”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出單擊“確定”按鈕,返回“選擇源表和源視圖”對話框;單擊“下一步”按鈕,打開“保存并執(zhí)行包”對話框,確定是否選擇“保存SSIS包”復(fù)選框,如圖12-27所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12

55、-27 “保存并執(zhí)行包”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出單擊“下一步”按鈕,打開“完成該向?qū)А睂υ捒?,如圖12-28所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-28 “完成該向?qū)А睂υ捒?123 數(shù)據(jù)導(dǎo)入與導(dǎo)出單擊“完成”按鈕,系統(tǒng)開始導(dǎo)入數(shù)據(jù);數(shù)據(jù)導(dǎo)入任務(wù)完成后,顯示“執(zhí)行成功”對話框,如圖12-29所示。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出圖12-29 “執(zhí)行成功”對話框 123 數(shù)據(jù)導(dǎo)入與導(dǎo)出1233 SSIS設(shè)計器簡介 在SQL Server 2005中,以前版本的數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)被SQL Server整合服務(wù)(SSIS)所代替。在進行數(shù)據(jù)轉(zhuǎn)換過程中,以前版本的DTS設(shè)計器被新的SSIS設(shè)計器所代替。123 數(shù)據(jù)導(dǎo)入與導(dǎo)出1SSIS設(shè)計器的啟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論