




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)備份恢復(fù)與數(shù)據(jù)轉(zhuǎn)換 10.1 備份與恢復(fù)概述 10.2 數(shù)據(jù)庫(kù)的恢復(fù) 10.3 數(shù)據(jù)庫(kù)的維護(hù) 10.4 數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS) 10.5 使用DTS設(shè)計(jì)器10.6 實(shí)訓(xùn)要求與習(xí)題 10.1 備份與恢復(fù)概述 備份與恢復(fù)是SQL Server 的重要組成部分。備份就是指對(duì)SQL SEVER數(shù)據(jù)庫(kù)及其他相關(guān)信息進(jìn)行復(fù)制,數(shù)據(jù)庫(kù)備份能記錄數(shù)據(jù)庫(kù)中所有數(shù)據(jù)的當(dāng)前狀態(tài),以便在數(shù)據(jù)庫(kù)遭到破壞時(shí)能夠?qū)⑵浠謴?fù)?;謴?fù)就是把遭受破壞、丟失的數(shù)據(jù)或出現(xiàn)錯(cuò)誤的數(shù)據(jù)庫(kù)恢復(fù)到原來(lái)的正常狀態(tài),這一狀態(tài)是由備份決定的,不同的數(shù)據(jù)庫(kù)備份類型,都應(yīng)該個(gè)別采取不同的還原方法。就某種意義來(lái)說(shuō),數(shù)據(jù)庫(kù)的還原比數(shù)據(jù)庫(kù)的備份更加重要并困
2、難。因?yàn)閿?shù)據(jù)庫(kù)備份是在正常的狀態(tài)下進(jìn)行,然而數(shù)據(jù)庫(kù)還原則是在非正常的狀態(tài)下進(jìn)行,例如硬件故障、系統(tǒng)癱瘓以及操作疏忽等。10.1.1 數(shù)據(jù)庫(kù)備份的類型 SQL Server 2000有4種備份方式: 1. 完全數(shù)據(jù)庫(kù)備份(Database-complete) 這是最完整的數(shù)據(jù)庫(kù)備份方式,它會(huì)將數(shù)據(jù)庫(kù)內(nèi)所有的對(duì)象完整地復(fù)制到指定的設(shè)備上。由于它是備份完整內(nèi)容,因此通常會(huì)需要花費(fèi)較多的時(shí)間,同時(shí)也會(huì)占用較多的空間。對(duì)于數(shù)據(jù)量較少,或者變動(dòng)較小不需經(jīng)常備份的數(shù)據(jù)庫(kù)而言,可以選擇使用這種備份方式。10.1.1 數(shù)據(jù)庫(kù)備份的類型2. 差異備份或稱增量備份(Database-differential)差異數(shù)
3、據(jù)庫(kù)備份只會(huì)針對(duì)自從上次完全備份后有變動(dòng)的部分進(jìn)行備份處理,這種備份模式必須搭配完全數(shù)據(jù)庫(kù)備份一起使用,最初的備份使用完全備份保存完整的數(shù)據(jù)庫(kù)內(nèi)容,之后則使用差異備份只記錄有變動(dòng)的部分。由于差異數(shù)據(jù)庫(kù)備份只備份有變動(dòng)的部分,因此比起完全數(shù)據(jù)庫(kù)備份來(lái)說(shuō),通常它的備份速度會(huì)比較快,占用的空間也會(huì)比較少。對(duì)于數(shù)據(jù)量大且需要經(jīng)常備份的數(shù)據(jù)庫(kù),使用差異備份可以減少數(shù)據(jù)庫(kù)備份的負(fù)擔(dān)。10.1.1 數(shù)據(jù)庫(kù)備份的類型3. 事務(wù)日志備份(Transaction log)事務(wù)日志備份與差異數(shù)據(jù)庫(kù)備份非常相似,都是備份部分?jǐn)?shù)據(jù)內(nèi)容,只不過(guò)事務(wù)日志備份是針對(duì)自從上次備份后有變動(dòng)的部分進(jìn)行備份處理,而不是針對(duì)上次完全備
4、份后的變動(dòng)。4. 數(shù)據(jù)庫(kù)文件和文件組備份( )這種備份模式是以文件和文件組作為備份的對(duì)象,可以針對(duì)數(shù)據(jù)庫(kù)特定的文件或特定文件組內(nèi)的所有成員進(jìn)行數(shù)據(jù)備份處理。不過(guò)在使用這種備份模式時(shí),應(yīng)該要搭配事務(wù)日志備份一起使用,因?yàn)楫?dāng)我們?cè)跀?shù)據(jù)庫(kù)中還原部分的文件或文件組時(shí),也必須還原事務(wù)日志,使得該文件能夠與其他的文件保持?jǐn)?shù)據(jù)一致性。10.1.2 備份設(shè)備的創(chuàng)建與刪除 在進(jìn)行備份前首先必須指定或創(chuàng)建備份設(shè)備,備份設(shè)備是用來(lái)存儲(chǔ)數(shù)據(jù)文件、事務(wù)日志文件和文件組備份的存儲(chǔ)介質(zhì),可以是硬盤(pán)、磁帶或管道。當(dāng)使用磁盤(pán)作為備份設(shè)備時(shí),SQL Server允許將本地主機(jī)硬盤(pán)和遠(yuǎn)程主機(jī)上的硬盤(pán)作為備份設(shè)備,備份在硬盤(pán)中以文件
5、方式存儲(chǔ)。 1、使用企業(yè)管理器創(chuàng)建與刪除備份設(shè)備 創(chuàng)建備份設(shè)備步驟: (1)在控制臺(tái)根目錄中依次展開(kāi)“Microsoft SQL Server” “SQL Server組” “所使用的服務(wù)器” “管理”“備份”,鼠標(biāo)右鍵單擊“備份”節(jié)點(diǎn)(或從“操作”菜單中選擇),選擇“新建備份設(shè)備”,如圖10-1所示。圖10-1 新建備份設(shè)備操作(2)在彈出的“備份設(shè)備屬性新設(shè)備”對(duì)話框的名稱中輸入備份設(shè)備邏輯名,比如“DNXSBF”,文件名框中會(huì)自動(dòng)生成包括默認(rèn)路徑的物理文件名,C:Program FilesMicrosoft SQL ServerMSSQLBACKUPDNXSBF.BAK 如圖10-2所示
6、。圖10-2 新建備份設(shè)備屬性對(duì)話框 用戶可以自行設(shè)置存放路徑,單擊“確定”即創(chuàng)建完成了備份設(shè)備“DNXSBF”。 注意: 物理備份設(shè)備是指操作系統(tǒng)所標(biāo)識(shí)的磁盤(pán)或磁帶,如C:Program FilesMicrosoft SQL ServerMSSQLBACKUPDNXSBF.BAK。邏輯備份設(shè)備是用來(lái)標(biāo)識(shí)物理備份設(shè)備的別名或公用名稱。 邏輯備份名稱永久地存儲(chǔ)在MASTER數(shù)據(jù)庫(kù)下SYSYDEVICES系統(tǒng)表中。使用邏輯備份設(shè)備的優(yōu)點(diǎn)是引用它比引用物理設(shè)備名稱簡(jiǎn)單。 在企業(yè)管理器中刪除備份設(shè)備與創(chuàng)建的過(guò)程類似,選中要?jiǎng)h除的備份設(shè)備右鍵單擊,在彈出的菜單中選擇“刪除”即可刪除。2、使用系統(tǒng)存儲(chǔ)過(guò)程
7、sp_addumpdevice語(yǔ)句創(chuàng)建備份設(shè)備 在SQL Server 中,可以使用sp_addumpdevice語(yǔ)句創(chuàng)建備份設(shè)備,語(yǔ)法格式為: EXECUTE sp_addumpdevice 設(shè)備類型 , 設(shè)備邏輯名稱 , 物理名稱 , 管理員 | 驗(yàn)證設(shè)備 設(shè)備類型值可以是 DISK ,PIPE,TAPE。 【例10-1】在磁盤(pán)上創(chuàng)建一個(gè)磁盤(pán)備份設(shè)備 diskbackup。在查詢分析器中輸入代碼: Exec sp_addumpdevice disk , diskbackup , E:DATAdiskbackup.bak運(yùn)行后顯示:“(所影響的行數(shù)為 1 行) 硬盤(pán) 設(shè)備已添加?!?,操作完成
8、。3、使用系統(tǒng)存儲(chǔ)過(guò)程sp_dropdevice語(yǔ)句刪除備份設(shè)備語(yǔ)法格式: EXECUTE sp_dropdevice 備份設(shè)備邏輯名 , 物理名 【例10-2】刪除上面創(chuàng)建的磁盤(pán)備份設(shè)備diskbackup。在查詢分析器中輸入代碼: sp_dropdevice diskbackup, E:DATAdiskbackup.bak 運(yùn)行后顯示:“設(shè)備已除去?!?0.1.3 數(shù)據(jù)庫(kù)的備份 1、使用企業(yè)管理器進(jìn)行備份 (1)在企業(yè)管理器中右鍵單擊所要進(jìn)行備份的數(shù)據(jù)庫(kù)圖標(biāo)或節(jié)點(diǎn),在彈出的快捷菜單中選擇“所有任務(wù)”“備份數(shù)據(jù)庫(kù)” 。隨即彈出的“SQL Server備份”對(duì)話框中有“常規(guī)”和“選項(xiàng)”兩個(gè)選項(xiàng)
9、卡。如圖10-3、10-4所示, 圖10-3 “常規(guī)”選項(xiàng)卡 圖10-4 “選項(xiàng)”選項(xiàng)卡 2、使用Transact-SQL語(yǔ)句Backup備份數(shù)據(jù)庫(kù)及事務(wù)日志(1)數(shù)據(jù)庫(kù)備份的語(yǔ)法格式: BACKUP BATABASE database_name | database_name_var to , n with , format , init | noinit , restart ,differential 【例10-3】創(chuàng)建磁盤(pán)備份設(shè)備(DNXS和DNXSDIFF),分別對(duì)數(shù)據(jù)庫(kù)diannaoxs執(zhí)行完全備份和差異備份。 在查詢分析器中輸入代碼: USE MASTER /*創(chuàng)建(完全)備份設(shè)備
10、*/ EXEC sp_addumpdevice DISK, DNXS , E:DATADNXS.DAT /*創(chuàng)建(差異)備份設(shè)備*/ EXEC sp_addumpdevice DISK, DNXSDIFF , E:DATADNXSDIFF.DAT /*執(zhí)行完全備份*/ BACKUP BATABASE diannaoxs to DNXS With NOINIT /*執(zhí)行差異備份*/ BACKUP BATABASE diannaoxs to DNXSDIFF With differential GO(2)事務(wù)日志備份的語(yǔ)法格式: BACKUP LOG database_name | databas
11、e_name_var to , n WITH NO_TRUNCATE , NO_LOG | TRUNCATE_ONLY 【例10-4】創(chuàng)建磁盤(pán)備份設(shè)備(DNXSLOG1),對(duì)數(shù)據(jù)庫(kù)diannaoxs事務(wù)日志進(jìn)行備份。 在查詢分析器中輸入代碼: USE MASTER EXEC sp_addumpdevice DISK, DNXSLOG1, E:DATADNXSLOG1.DAT BACKUP Log diannaoxs to DNXSLOG1 GO 此外,數(shù)據(jù)庫(kù)的備份還有直接復(fù)制數(shù)據(jù)庫(kù)文件MDF和日志文件LDF的方法。具體內(nèi)容可參見(jiàn)數(shù)據(jù)庫(kù)的分離與附加相關(guān)操作。 10.2 數(shù)據(jù)庫(kù)的恢復(fù) 10.2.1
12、 數(shù)據(jù)庫(kù)恢復(fù)策略數(shù)據(jù)庫(kù)備份后,一旦系統(tǒng)發(fā)生崩潰或者執(zhí)行了錯(cuò)誤的數(shù)據(jù)庫(kù)操作,就可以從備份文件中恢復(fù)數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)備份加載到系統(tǒng)中。數(shù)據(jù)庫(kù)恢復(fù)模型有以下3種: 1、簡(jiǎn)單恢復(fù) 。 2、完全恢復(fù) 。 3、大容量日志記錄恢復(fù) 。表10-2 3種恢復(fù)模型的比較 恢復(fù)模型優(yōu)點(diǎn)工作損失表現(xiàn)能否恢復(fù)到即時(shí)點(diǎn)?簡(jiǎn)單 允許高性能大容量復(fù)制操作。 收回日志空間以使空間,要求最小。 必須重做自最新的數(shù)據(jù)庫(kù)或差異備份后所發(fā)生的更改。 可以恢復(fù)到任何備份的結(jié)尾處。隨后必須重做更改。 完全 數(shù)據(jù)文件丟失或損壞不會(huì)導(dǎo)致工作損失。 可以恢復(fù)到任意即時(shí)點(diǎn)(例如,應(yīng)用程序或用戶錯(cuò)誤之前)。 正常情況下沒(méi)有。如果日志損壞,則必須重做
13、自最新的日志備份后所發(fā)生的更改。 可以恢復(fù)到任何即時(shí)點(diǎn)。 大容量日志記錄 允許高性能大容量復(fù)制操作。 大容量操作使用最少的日志空間。 如果日志損壞,或者自最新的日志備份后發(fā)生了大容量操作,則必須重做自上次備份后所做的更改。 否則不丟失任何工作。 可以恢復(fù)到任何備份的結(jié)尾處。隨后必須重做 .10.2.2 用企業(yè)管理器恢復(fù)數(shù)據(jù)庫(kù)(1)打開(kāi)企業(yè)管理器,單擊所用的服務(wù)器,在“工具”菜單中單擊“還原數(shù)據(jù)庫(kù)”命令。隨即彈出的“還原數(shù)據(jù)庫(kù)”對(duì)話框中有“常規(guī)”和“選項(xiàng)”兩個(gè)選項(xiàng)卡。(2)在“常規(guī)”選項(xiàng)卡中,選擇還原數(shù)據(jù)庫(kù)的名稱、還原類型,如圖10-5所示。在還原為數(shù)據(jù)庫(kù)旁的下拉列表中選擇要恢復(fù)的數(shù)據(jù)庫(kù);在還原
14、文件組中時(shí)通過(guò)單擊按鈕來(lái)選擇相應(yīng)的數(shù)據(jù)庫(kù)備份類型。 圖10-5 數(shù)據(jù)庫(kù)還原的設(shè)置 10.2.3 用RESTORE命令恢復(fù)數(shù)據(jù)庫(kù)1、恢復(fù)數(shù)據(jù)庫(kù)的RESTORE命令: RESTORE DATABASE database_name | database_name_var from with , file = | , move logical_ to operating_system_ , replace , norecovery | recovery | standby= undo_ 【例106】磁盤(pán)備份設(shè)備(DNXS)包含數(shù)據(jù)庫(kù)diannaoxs的完全備份。磁盤(pán)備份設(shè)備(DNXSDIFF)包含數(shù)據(jù)
15、庫(kù)diannaoxs的差異備份。請(qǐng)還原數(shù)據(jù)庫(kù)。 在查詢分析器中輸入代碼: use master /*(1)從磁盤(pán)備份設(shè)備(DNXS)恢復(fù)完全數(shù)據(jù)庫(kù)備份,使用NORECOVERY選項(xiàng)。*/ restore database diannaoxs from DNXS WITH NORECOVERY /*(2)從磁盤(pán)備份設(shè)備(DNXSDIFF)恢復(fù)差異數(shù)據(jù)庫(kù)備份,使用RECOVERY選項(xiàng)。*/ restore database diannaoxs from DNXSDIFF WITH RECOVERY 10.2.3 用RESTORE命令恢復(fù)數(shù)據(jù)庫(kù)2、恢復(fù)日志文件的RESTORE命令: RESTORE
16、LOG database_name | database_name_var FROM ,.n WITH NORECOVERY | RECOVERY | STANDBY = undo_ , STOPAT = date_time | date_time_var | , STOPATMARK = mark_name AFTER datetime | , STOPBEFOREMARK = mark_name AFTER datetime 包括三個(gè)附加的選項(xiàng):STOPAT,STOPATMARK和STOPBEFOREMARK。STOPAT選項(xiàng)允許恢復(fù)數(shù)據(jù)庫(kù)到精確的時(shí)刻狀態(tài),這個(gè)狀態(tài)是在錯(cuò)誤發(fā)生以前某一時(shí)間
17、指定的特定一點(diǎn)。STOPAMARK 和STOPBEFOREMARK子句指定恢復(fù)到一個(gè)標(biāo)記處?!纠?07】對(duì)數(shù)據(jù)庫(kù)diannaoxs的事務(wù)日志進(jìn)行恢復(fù)。 在查詢分析器中輸入代碼: use master RESTORE LOG FROM DNXSLOG1 WITH RECOVERY,STOPAT=APR 15,2006 12:00 AM10.2.4、恢復(fù)系統(tǒng)數(shù)據(jù)庫(kù) 對(duì)MASTER數(shù)據(jù)庫(kù),通常進(jìn)行完全數(shù)據(jù)庫(kù)備份?;謴?fù)MASTER數(shù)據(jù)庫(kù)主要有兩種途徑:如果MASTER數(shù)據(jù)庫(kù)已經(jīng)嚴(yán)重?fù)p壞,但SQLSERVER可以啟動(dòng),則使用MASTER數(shù)據(jù)庫(kù)當(dāng)前備份來(lái)恢復(fù)備份;如果MASTER數(shù)據(jù)庫(kù)已經(jīng)嚴(yán)重?fù)p壞,SQL
18、SERVER不能啟動(dòng),或者M(jìn)ASTER數(shù)據(jù)庫(kù)當(dāng)前備份也不能使用,則必須執(zhí)行“重建MASTER庫(kù)工具”來(lái)重建MASTER數(shù)據(jù)庫(kù),然后再使用備份來(lái)進(jìn)行恢復(fù)。使用“重建MASTER庫(kù)工具”來(lái)重建MASTRE執(zhí)行步驟如下:(1)關(guān)閉SQL Server服務(wù)器,在CMD下運(yùn)行系統(tǒng)安裝目錄下的bin子目錄下的rebuilem.exe文件,這是個(gè)命令行程序,運(yùn)行后可以重新創(chuàng)建系統(tǒng)數(shù)據(jù)庫(kù)。(2)系統(tǒng)數(shù)據(jù)庫(kù)重新建立后,啟動(dòng)SQL Server。(3)SQL Server啟動(dòng)后系統(tǒng)數(shù)據(jù)庫(kù)是空的,可從備份數(shù)據(jù)庫(kù)中恢復(fù)。一般先恢復(fù)master,再恢復(fù)msdb,最后恢復(fù)model。10.3 數(shù)據(jù)庫(kù)的維護(hù) 利用數(shù)據(jù)庫(kù)的維
19、護(hù)計(jì)劃向?qū)Э梢苑奖愕卦O(shè)置數(shù)據(jù)庫(kù)的核心維護(hù)任務(wù),以便于定期地執(zhí)行這些任務(wù)。 10.3.1 創(chuàng)建數(shù)據(jù)庫(kù)維護(hù)計(jì)劃 在企業(yè)管理器中右鍵單擊所要設(shè)置維護(hù)計(jì)劃的數(shù)據(jù)庫(kù)圖標(biāo)或節(jié)點(diǎn),在彈出的快捷菜單中選擇“所有任務(wù)”再選擇“維護(hù)計(jì)劃”。具體見(jiàn)書(shū)上圖10-6至圖10-16。 10.3.2 編輯修改數(shù)據(jù)庫(kù)維護(hù)計(jì)劃啟動(dòng)SQL Server企業(yè)管理器,在控制臺(tái)根目錄中依次展開(kāi)“Microsoft SQL Server” “SQL Server組” “所使用的服務(wù)器” “管理”“數(shù)據(jù)庫(kù)維護(hù)”。 鼠標(biāo)雙擊“數(shù)據(jù)庫(kù)維護(hù)計(jì)劃”項(xiàng)目,或右鍵單擊選擇“屬性”對(duì)話框,其中有“常規(guī)”“優(yōu)化”“完整性”“完全備份”“事務(wù)日志備份”“報(bào)
20、表”六個(gè)選項(xiàng)卡,可對(duì)數(shù)據(jù)庫(kù)的維護(hù)計(jì)劃進(jìn)行設(shè)置、編輯和修改。如圖10-17所示。 圖10-17 數(shù)據(jù)庫(kù)維護(hù)計(jì)劃編輯修改對(duì)話框10.4 數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS) 10.4.1 數(shù)據(jù)轉(zhuǎn)換服務(wù)簡(jiǎn)介 SQL提供了一種把數(shù)據(jù)庫(kù)從一個(gè)SQL Server數(shù)據(jù)庫(kù)或非SQL Server 數(shù)據(jù)庫(kù)(如ACCESS、ORACLE)傳輸?shù)揭粋€(gè)SQL Server 數(shù)據(jù)庫(kù)的方法,這就是數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS,DATA TRANSFORMAION SERVICES)。 DTS不僅可以把一個(gè)服務(wù)器上的所有對(duì)象和數(shù)據(jù)轉(zhuǎn)移到另一個(gè)服務(wù)器上,還可以完成以下任務(wù): l 數(shù)據(jù)轉(zhuǎn)換。從其他的數(shù)據(jù)來(lái)源將數(shù)據(jù)傳入SQL Server。 l 改
21、變數(shù)據(jù)格式。 l 重構(gòu)數(shù)據(jù)。 l 轉(zhuǎn)換異種數(shù)據(jù)。 l 合并原來(lái)多列數(shù)據(jù)為一列,合并多行數(shù)據(jù)為一行。 l提供傳輸數(shù)據(jù)庫(kù)的圖形用戶界面。 10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)?數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)導(dǎo)入/導(dǎo)出向?qū)镺LE DB數(shù)據(jù)源之間復(fù)制及轉(zhuǎn)換數(shù)據(jù)提供了最簡(jiǎn)單的方法。DTS向?qū)в小皩?dǎo)出向?qū)А焙汀皩?dǎo)入向?qū)А眱煞N,分別用來(lái)將數(shù)據(jù)從SQL Server 轉(zhuǎn)換成其他數(shù)據(jù)格式,或者從其他數(shù)據(jù)來(lái)源轉(zhuǎn)入SQL Server。 DTS導(dǎo)入/導(dǎo)出向?qū)褂没静襟E是一致的,具體步驟如下: l 設(shè)置數(shù)據(jù)源。在導(dǎo)入數(shù)據(jù)時(shí),需要選定外部數(shù)據(jù)對(duì)象,如ORACLE 、ACCESS、EXECL、文本文件等。在導(dǎo)出數(shù)據(jù)時(shí),數(shù)據(jù)源就
22、是本地SQL Server。 l 設(shè)置轉(zhuǎn)換方式。選擇將數(shù)據(jù)全部還是部分(如記錄的一部分或列的一部分)數(shù)據(jù)復(fù)制到目的中。 l 保存、調(diào)度和復(fù)制包。在完成數(shù)據(jù)導(dǎo)入導(dǎo)出后,可以將整個(gè)過(guò)程生成一個(gè)DTS包,在向?qū)е衼?lái)決定保存DTS包的格式,也可以使用SQL Server 代理調(diào)度包定期執(zhí)行。10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(一)1、啟動(dòng)DTS向?qū)в卸喾N方法可以打開(kāi)DTS導(dǎo)入/導(dǎo)出向?qū)А?l 開(kāi)始菜單中,選擇SQL Server程序組中的“導(dǎo)入導(dǎo)出數(shù)據(jù)”選項(xiàng)。 l 在SQL Server 企業(yè)管理器中,選擇“工具”主菜單“數(shù)據(jù)轉(zhuǎn)換服務(wù)”子菜單下的“導(dǎo)出數(shù)據(jù)”或“導(dǎo)入數(shù)據(jù)”。 l 選擇某一數(shù)據(jù)庫(kù)
23、,單擊鼠標(biāo)右鍵,在快捷菜單中選擇“所有任務(wù)”下的“導(dǎo)出數(shù)據(jù)“菜單項(xiàng)。10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(二)2、設(shè)置數(shù)據(jù)源 在“數(shù)據(jù)源”下拉列表框中選擇從何種類型的數(shù)據(jù)源導(dǎo)入數(shù)據(jù),可以有如下幾種選擇: l 大多數(shù)的 OLE DB 和 ODBC 數(shù)據(jù)源以及用戶指定的 OLE DB 數(shù)據(jù)源。 l 文本文件。 l 從ODBC源導(dǎo)入,則選擇MICROSOFT OLE DB 提供程序。 l Oracle 和 Informix 數(shù)據(jù)庫(kù)。 必須已經(jīng)安裝 Oracle 或 Informix 客戶端軟件。10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(二) l Microsoft Excel 電子表格。 l
24、 Microsoft Access 和 Microsoft FoxPro 數(shù)據(jù)庫(kù)。 l dBase 或 Paradox 數(shù)據(jù)庫(kù)。 如果使用SQL Server 作為直接數(shù)據(jù)源,則需要選擇用于SQL Server的 Microsoft OLE DB 提供程序。此時(shí)需要輸入SQL Server 身份驗(yàn)證信息,并選擇所要使用的數(shù)據(jù)庫(kù)。10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(三)3、設(shè)置數(shù)據(jù)目的 在“選擇目的”對(duì)話框中選擇“Microsoft Access”,并在“文件名”文本框中輸入所要保存的數(shù)據(jù)庫(kù)地址。如果加密該數(shù)據(jù)庫(kù),可以在“用戶名”和“密碼”文本框中輸入相應(yīng)內(nèi)容。 10.4.2 DTS導(dǎo)入
25、/導(dǎo)出向?qū)Р僮鞑襟E(四)4、設(shè)置轉(zhuǎn)換方式 單擊“下一步”,進(jìn)入“指定表復(fù)制或查詢”對(duì)話框,如圖10-21所示。圖10-21設(shè)置轉(zhuǎn)換方式 有3個(gè)選項(xiàng),不同的選項(xiàng)對(duì)應(yīng)不同的步驟和功能。 l 從源數(shù)據(jù)庫(kù)復(fù)制表和視圖: 選中此項(xiàng),則顯示“選擇源表和視圖”對(duì)話框。如圖10-22所示,可以將字段從數(shù)據(jù)源中選定的表或視圖復(fù)制到指定的位置。但這種方式不會(huì)篩選或排列記錄。 圖10-22 選擇源表 和視圖10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(四)l 用一條查詢指定要傳輸?shù)臄?shù)據(jù): 如選中此項(xiàng),則顯示“鍵入SQL語(yǔ)句”對(duì)話框。在其中可以生成用于在表或視圖中查詢特定行的SQL語(yǔ)句,只有符合查詢條件的記錄才可以復(fù)制
26、。10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(四)在SQL Server 數(shù)據(jù)庫(kù)之間復(fù)制對(duì)象和數(shù)據(jù): 只有源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)都是SQL SEVER 數(shù)據(jù)庫(kù)時(shí),“在SQL Server 數(shù)據(jù)庫(kù)之間復(fù)制對(duì)象和數(shù)據(jù)”選項(xiàng)才是可用的。如選中此項(xiàng),則顯示“選擇要傳輸?shù)膶?duì)象”對(duì)話框。可傳輸?shù)膶?duì)象包括表、視圖、存儲(chǔ)過(guò)程、默認(rèn)值、規(guī)則、約束、用戶定義的數(shù)據(jù)類型、登錄、用戶、角色和索引。利用此項(xiàng),可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的遷移,如把一個(gè)數(shù)據(jù)庫(kù)復(fù)制到服務(wù)器上,或把服務(wù)器存儲(chǔ)的數(shù)據(jù)庫(kù)復(fù)制到本地機(jī)上。 圖10-24 SQL Server 數(shù)據(jù)庫(kù)之間復(fù)制對(duì)象和數(shù)據(jù) 10.4.2 DTS導(dǎo)入/導(dǎo)出向?qū)Р僮鞑襟E(五)5、保存、調(diào)度
27、和復(fù)制包 數(shù)據(jù)源、目的和轉(zhuǎn)換的規(guī)則可以保存為DTS包,并調(diào)度該文件按預(yù)定的時(shí)間間隔運(yùn)行,如圖10-25所示。在該界面中的選項(xiàng)如下: 圖10-25 保存、 調(diào)度和復(fù)制包 l 立即運(yùn)行: 設(shè)置完成后,立即運(yùn)行轉(zhuǎn)換并創(chuàng)建目的數(shù)據(jù)庫(kù)。l 用復(fù)制方法發(fā)布目的數(shù)據(jù): 將目的表用于復(fù)制。單擊用復(fù)制方法發(fā)布目的數(shù)據(jù)選項(xiàng)時(shí),DTS 導(dǎo)入/導(dǎo)出向?qū)ЫY(jié)束運(yùn)行后將啟動(dòng)創(chuàng)建發(fā)布向?qū)А?l 調(diào)度 DTS 包以后執(zhí)行: 將數(shù)據(jù)轉(zhuǎn)換服務(wù) (DTS) 包保存到 Microsoft SQL Server msdb 數(shù)據(jù)庫(kù)、SQL Server 2000 Meta Data Services、COM 結(jié)構(gòu)化存儲(chǔ)文件或 Micros
28、oft Visual Basic 文件,并調(diào)度該文件按預(yù)定義的時(shí)間間隔運(yùn)行。單擊瀏覽()按鈕顯示編輯反復(fù)出現(xiàn)的作業(yè)調(diào)度對(duì)話框,在其中可調(diào)度包的執(zhí)行。如果沒(méi)有修改調(diào)度,默認(rèn)為每天午夜 12:00 運(yùn)行包。l SQL Server : 將包保存到 SQL Server 中,存儲(chǔ)在 msdb 數(shù)據(jù)庫(kù)的 sysdtspackages 表中。 l SQL Server Meta Data Services: 將包保存到 Meta Data Services。若打算追蹤 Meta Data Services 的包版本、元數(shù)據(jù)和數(shù)據(jù)沿襲信息,則使用此選項(xiàng)。 l 結(jié)構(gòu)化存儲(chǔ)文件: 將包保存為 COM 結(jié)構(gòu)化存
29、儲(chǔ)文件。 如果希望在網(wǎng)絡(luò)間復(fù)制、移動(dòng)和發(fā)送軟件包而不必將其存儲(chǔ)在SQL Server 數(shù)據(jù)庫(kù)中,可以使用該選項(xiàng)。 Visual Basic 文件: 將包保存為 Visual Basic 文件。 10.5 使用DTS設(shè)計(jì)器 DTS設(shè)計(jì)器以圖形方式實(shí)現(xiàn) DTS對(duì)象模型,可以用圖形方式創(chuàng)建 DTS 軟件包。使用 DTS設(shè)計(jì)器執(zhí)行以下任務(wù): l 創(chuàng)建包含一個(gè)或多個(gè)步驟的簡(jiǎn)單軟件包。 l 創(chuàng)建包括復(fù)雜工作流的軟件包,這些工作流包括多個(gè)步驟,而這些步驟使用條件邏輯、事件驅(qū)動(dòng)代碼或與數(shù)據(jù)源的多種連接。 l 編輯現(xiàn)有軟件包。10.5.1 DTS包結(jié)構(gòu) 在DTS中,DTS包是整個(gè)DTS基礎(chǔ)??梢哉J(rèn)為DTS包是一
30、個(gè)有組織的連接、DTS任務(wù)、DTS轉(zhuǎn)換和工作流約束的集合。每一個(gè)DTS包都是包括一個(gè)或具有一定順序的多個(gè)任務(wù)的工作流。 可以將 DTS 解決方案創(chuàng)建為一個(gè)或多個(gè)包。每個(gè)包都可能包含一組用來(lái)定義要執(zhí)行工作的經(jīng)過(guò)組織的任務(wù)、對(duì)數(shù)據(jù)和對(duì)象的轉(zhuǎn)換、用來(lái)定義任務(wù)執(zhí)行的工作流約束以及與數(shù)據(jù)源和目標(biāo)的連接。DTS 包還提供了一些服務(wù),例如記錄包執(zhí)行詳細(xì)信息、控制事務(wù)和處理全局變量。 包是頂層對(duì)象,包括任務(wù)、工作流、連接三個(gè)對(duì)象。DTS包結(jié)構(gòu)(一)(1)任務(wù):包中的定義步驟 DTS 包通常包括一個(gè)或多個(gè)任務(wù)。每個(gè)任務(wù)都定義一個(gè)可在包執(zhí)行過(guò)程中執(zhí)行的工作項(xiàng)目??梢允褂萌蝿?wù)執(zhí)行下列操作:轉(zhuǎn)換數(shù)據(jù) 復(fù)制和管理數(shù)據(jù)
31、將任務(wù)作為軟件包中的作業(yè)運(yùn)行 DTS包結(jié)構(gòu)(二)(2)工作流:設(shè)置任務(wù)優(yōu)先順序 定義一組任務(wù)時(shí),這些任務(wù)通常應(yīng)該按照某種順序執(zhí)行。當(dāng)任務(wù)按順序執(zhí)行時(shí),每個(gè)任務(wù)就成為了過(guò)程中的一個(gè)步驟。在 DTS 設(shè)計(jì)器中,可以在 DTS 設(shè)計(jì)器設(shè)計(jì)表中操作任務(wù),并使用優(yōu)先約束控制任務(wù)的執(zhí)行順序。 優(yōu)先約束按順序鏈接包中的任務(wù)。下表顯示了可以在 DTS 中使用的優(yōu)先約束的類型。表10-7優(yōu)先約束的類型 優(yōu)先約束說(shuō)明完成時(shí)(藍(lán)色箭頭)如果想讓任務(wù) 2 等待任務(wù) 1 完成(無(wú)論結(jié)果如何),則可以使用“完成時(shí)”優(yōu)先約束將任務(wù) 1 鏈接到任務(wù) 2。成功時(shí)(綠色箭頭)如果想讓任務(wù) 2 等待任務(wù) 1 成功完成,則可以使用“
32、成功時(shí)”優(yōu)先約束將任務(wù) 1 鏈接到任務(wù) 2。成功時(shí)(綠色箭頭)如果想讓任務(wù) 2 只在任務(wù) 1 無(wú)法成功執(zhí)行時(shí)開(kāi)始執(zhí)行,則可以使用“失敗時(shí)”優(yōu)先約束將任務(wù) 1 鏈接到任務(wù) 2。DTS包結(jié)構(gòu)(三)(3)連接:訪問(wèn)和移動(dòng)數(shù)據(jù) 要成功執(zhí)行復(fù)制和轉(zhuǎn)換數(shù)據(jù)的 DTS 任務(wù),DTS 軟件包必須與它的源和目標(biāo)數(shù)據(jù)以及所有其它數(shù)據(jù)源(如查找表)建立有效連接。 創(chuàng)建軟件包時(shí),通過(guò)從可用的 OLE DB 提供程序和 ODBC 驅(qū)動(dòng)程序列表選擇連接類型,可對(duì)連接進(jìn)行配置??捎玫倪B接類型包括:Microsoft 數(shù)據(jù)訪問(wèn)組件 (MDAC) 驅(qū)動(dòng)程序 Microsoft Jet 驅(qū)動(dòng)程序 其它驅(qū)動(dòng)程序 10.5.2 創(chuàng)建
33、DTS包 1、啟動(dòng)DTS設(shè)計(jì)器 在SQL Server 企業(yè)管理器中展開(kāi)“數(shù)據(jù)轉(zhuǎn)換服務(wù)”菜單項(xiàng),在“本地包”子項(xiàng)上右擊,在快捷菜單中選擇“新建包”菜單項(xiàng),彈出“DTS包”界面,如圖10 -27所示。10.5.2 創(chuàng)建DTS包(二)2、數(shù)據(jù)源和目的數(shù)據(jù) 建立包的首要任務(wù)就是建立數(shù)據(jù)源與目的的連接。在本節(jié)中將一個(gè)例子來(lái)說(shuō)明如何使用DTS設(shè)計(jì)器。本例任務(wù)是將diannaoxs數(shù)據(jù)庫(kù)導(dǎo)入到EXECL工作簿(電腦銷售.XLS)中。 在設(shè)置數(shù)據(jù)源時(shí),選擇“連接”面板中的“”按鈕,彈出“連接屬性”對(duì)話框。如圖10-28所示。在“新建連接”對(duì)話框中輸入數(shù)據(jù)連接名稱“diannaoxs”,并選擇數(shù)據(jù)源類型(Mi
34、crosoft OLE DB Provider for SQL Server)及數(shù)據(jù)庫(kù)diannaoxs。 圖10-28 設(shè)置數(shù)據(jù)源圖 10-29 設(shè)置目的數(shù)據(jù)10.5.2 創(chuàng)建DTS包 設(shè)置目的數(shù)據(jù)時(shí),選擇“連接”面板中的“”按鈕,彈出“連接屬性”對(duì)話框。如圖10-29所示。在“新建連接”對(duì)話框中輸入數(shù)據(jù)連接名稱“電腦銷售”,并選擇數(shù)據(jù)源類型(Microsoft Excel 97-2000),然后選擇對(duì)應(yīng)的文件名(E:數(shù)據(jù)庫(kù)教材編寫(xiě)電腦銷售.xls)。 注:所選擇的EXECL文件名必須是存在的,否則會(huì)報(bào)錯(cuò)。10.5.2 創(chuàng)建DTS包(三)3、定義數(shù)據(jù)轉(zhuǎn)換任務(wù) 在建立兩個(gè)連接的基礎(chǔ)上可以開(kāi)始實(shí)
35、現(xiàn)彼此間的數(shù)據(jù)轉(zhuǎn)換操作。確定“DINNAOXS”為數(shù)據(jù)源,“電腦銷售”為目的數(shù)據(jù)。單擊“任務(wù)”面板上的 “”按鈕,用出現(xiàn)的選擇連接箭頭分別單擊數(shù)據(jù)源和目的數(shù)據(jù)圖標(biāo),會(huì)在數(shù)據(jù)源和目的數(shù)據(jù)圖標(biāo)間出現(xiàn)一條表示轉(zhuǎn)換數(shù)據(jù)任務(wù)的連接箭頭,如圖10-30所示。10.5.2 創(chuàng)建DTS包(四)4、設(shè)置轉(zhuǎn)換數(shù)據(jù)任務(wù)屬性 l 在連接箭頭上雙擊鼠標(biāo)左鍵,彈出“轉(zhuǎn)換數(shù)據(jù)任務(wù)屬性”對(duì)話框。在“源”選項(xiàng)卡中設(shè)置,主要是選擇要作為數(shù)據(jù)來(lái)源的表(如供貨商表)。如圖10-31所示。 圖10-31 設(shè)置任務(wù) 的“源”屬性 l 在“目的” 選項(xiàng)卡中選擇數(shù)據(jù)轉(zhuǎn)換的目的地。單擊“創(chuàng)建”按紐,在彈出的“創(chuàng)建目的表”對(duì)話框中輸入用于創(chuàng)建表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際產(chǎn)品授權(quán)分銷合同
- 辦公家具采購(gòu)合同一
- 商品買(mǎi)賣合同「樣本」
- 商業(yè)地產(chǎn)買(mǎi)賣合同模板范文
- 公司設(shè)立投資合作合同范本
- 礦山棄渣處理合同范本
- 消防及安全整改合同履行細(xì)則
- 校企合作合同新范本
- 土地使用權(quán)出讓合同及物業(yè)銷售細(xì)則
- 躉船結(jié)構(gòu)培訓(xùn)課件
- 伐樹(shù)工程施工合同范本
- 數(shù)據(jù)挖掘(第2版)PPT全套完整教學(xué)課件
- 工程開(kāi)工報(bào)告(5篇)
- 配電箱試驗(yàn)項(xiàng)目
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第一章運(yùn)動(dòng)技能學(xué)習(xí)與控制概述
- 溫室大棚花卉苗圃采暖方案空氣源熱泵
- BEC商務(wù)英語(yǔ)高級(jí)考試歷年真題
- 初二地理中考復(fù)習(xí)備考策略與計(jì)劃
- (完整word版)省級(jí)溫室氣體清單編制指南
- GB/T 39399-2020北斗衛(wèi)星導(dǎo)航系統(tǒng)測(cè)量型接收機(jī)通用規(guī)范
- 黔2022-T122 磷石膏砂漿噴筑復(fù)合墻標(biāo)準(zhǔn)圖集 第1部分:輕鋼龍骨-磷石膏砂漿噴筑復(fù)合墻體
評(píng)論
0/150
提交評(píng)論