告訴你SQL Server數(shù)據(jù)轉(zhuǎn)換服務(wù)基本概念

發(fā)布時(shí)間:2024-03-11
在使用sql server 的過程,中由于經(jīng)常需要從多個(gè)不同地點(diǎn)將數(shù)據(jù)集中起來或向多個(gè)地點(diǎn)復(fù)制數(shù)據(jù),所以數(shù)據(jù)的導(dǎo)出,導(dǎo)入是極為常見的操作.我們可以使用bcp 命令來完成這一任務(wù),但是記住 bcp 的命令格式是一件令人頭痛的苦差事,雖然你可以查看幫助文件,所以我們需要功能強(qiáng)大操作簡(jiǎn)單的工具來完成這一任務(wù),數(shù)據(jù)轉(zhuǎn)換服務(wù)dts 提供了這種支持。因此本章將介紹dts 的基本情況、討論dts 的各個(gè)構(gòu)建組件以及如何完成數(shù)據(jù)轉(zhuǎn)換服務(wù)。
數(shù)據(jù)轉(zhuǎn)換服務(wù)簡(jiǎn)介
為了支持企業(yè)決策,許多組織都需將數(shù)據(jù)集中起來進(jìn)行分析。但是通常數(shù)據(jù)總是以不同的格式存儲(chǔ)在不同的地方。有的可能是文本文件,有的雖然具有表結(jié)構(gòu)但不屬于同一種數(shù)據(jù)源,這些情況極大地妨礙數(shù)據(jù)的集中處理。sql server 為我們提供了令人欣慰的組件,即data transformation services( dts)。 dts 本身包含多個(gè)工具并提供了接口來實(shí)現(xiàn)在任何支持ole db 的數(shù)據(jù)源間導(dǎo)入、導(dǎo)出或傳遞數(shù)據(jù),并使這一工作變得簡(jiǎn)單高效。這意味著不僅可以在sql server 數(shù)據(jù)源間進(jìn)行數(shù)據(jù)的轉(zhuǎn)儲(chǔ),而且可以把sybase, oracle, informix 下的數(shù)據(jù)傳遞到sql server。
利用data transformation services (dts) 可能在任何ole db、 odbc 驅(qū)動(dòng)程序的數(shù)據(jù)源或文本文和sql server 之間導(dǎo)入、導(dǎo)出或傳遞數(shù)據(jù)。具體表現(xiàn)在: 數(shù)據(jù)的導(dǎo)入、導(dǎo)出服務(wù)
通過讀寫數(shù)據(jù)在不同應(yīng)用程序間交換數(shù)據(jù)。例如,可將文本文件或microsoft access 數(shù)據(jù)庫(kù)導(dǎo)入到sql server, 也可以把數(shù)據(jù)從sql server 導(dǎo)出到任何ole db 數(shù)據(jù)源。
轉(zhuǎn)換數(shù)據(jù)
所謂傳遞是指在數(shù)據(jù)未到達(dá)目標(biāo)數(shù)據(jù)源前而對(duì)數(shù)據(jù)采取的系列操作。比如dts 允許從源數(shù)據(jù)源的一列或多列計(jì)算出新的列值,然后將其存儲(chǔ)在目標(biāo)數(shù)據(jù)庫(kù)中。
傳遞數(shù)據(jù)庫(kù)對(duì)象
在異構(gòu)數(shù)據(jù)源情況下dts, 的內(nèi)置工具只能在數(shù)據(jù)源間傳遞表定義和數(shù)據(jù)。如果要傳遞其它數(shù)據(jù)庫(kù)對(duì)象,如索引、約束、視圖時(shí),必須定義一個(gè)任務(wù),從而在目標(biāo)數(shù)據(jù)庫(kù)上執(zhí)行那些包含在任務(wù)中的sql 語(yǔ)句,sql 語(yǔ)句是被用來創(chuàng)建這些數(shù)據(jù)庫(kù)對(duì)象的。
18.1.2 dts 結(jié)構(gòu)
dts 將數(shù)據(jù)導(dǎo)入、導(dǎo)出或傳遞定義成可存儲(chǔ)的對(duì)象,即包裹或稱為包。每一個(gè)包都是包括一個(gè)或具有一定順序的多個(gè)任務(wù)的工作流。每個(gè)任務(wù)可以將數(shù)據(jù)從某一數(shù)據(jù)源拷貝至目標(biāo)數(shù)據(jù)源或使用active 腳本轉(zhuǎn)換數(shù)據(jù)或執(zhí)行sql 語(yǔ)句或運(yùn)行外部程序。也可以在sql server 數(shù)據(jù)源間傳遞數(shù)據(jù)庫(kù)對(duì)象。
包對(duì)象用來創(chuàng)建并存儲(chǔ)步驟,這些步驟定義了一系列任務(wù)執(zhí)行的順序以及執(zhí)行任務(wù)的必要細(xì)節(jié)。包對(duì)象中還包括源列、目標(biāo)列以及有關(guān)在數(shù)據(jù)傳遞過程中如何操縱數(shù)據(jù)的信息。
包可以存儲(chǔ)在dts com 結(jié)構(gòu)的存儲(chǔ)文件中、msdb 數(shù)據(jù)庫(kù)中、或microsoft repository 中。
可以通過以下工具來運(yùn)行包,它們是:dtsrun 工具,dts designer, dts 的導(dǎo)入、導(dǎo)出向?qū)В瑂ql server agent 來運(yùn)行規(guī)劃作業(yè),使用execute 方法調(diào)用dts 包對(duì)象的com應(yīng)用程序。
包是頂層對(duì)象,它包含三種底層對(duì)象:連接、任務(wù)、步驟。
連接
連接定義了有關(guān)源和目標(biāo)數(shù)據(jù)(數(shù)據(jù)源或文件)的信息這些信息包括數(shù)據(jù)格式和位置,以及安全認(rèn)證的密碼。dts 包可不包含或包含多個(gè)連接。使用連接的任務(wù)有:
dts data pump 任務(wù) 執(zhí)行sql 任務(wù) 數(shù)據(jù)驅(qū)動(dòng)查詢?nèi)蝿?wù) 定制任務(wù);
有三種類型的連接對(duì)象 數(shù)據(jù)源連接。
數(shù)據(jù)源連接定義了有關(guān)源和目標(biāo)ole db 數(shù)據(jù)源的信息。這些信息包括服務(wù)器名稱、數(shù)據(jù)格式和位置,以及安全認(rèn)證的密碼。第一個(gè)使用連接的任務(wù)負(fù)責(zé)創(chuàng)建該連接。如果使用odbc 的ole db 提供者,則連接也可以定義odbc 數(shù)據(jù)源信息。
文件連接定義了有關(guān)源和目標(biāo)文件的信息。這些信息包括文件格式和位置。 microsoft 數(shù)據(jù)連接對(duì)象
microsoft 數(shù)據(jù)連接對(duì)象或者加載數(shù)據(jù)連接文件(*.udl) 或者為ole db 提供者設(shè)置數(shù)據(jù)連接文件的屬性。
任務(wù)
每個(gè)dts 包都含有一個(gè)或多個(gè)任務(wù),每個(gè)任務(wù)都是數(shù)據(jù)轉(zhuǎn)換(傳遞)處理的工作項(xiàng)目。任務(wù)的種類包括: 執(zhí)行sql 任務(wù):即執(zhí)行sql 語(yǔ)句; data pump 任務(wù)該任務(wù):為data pump 操作定義了源和目標(biāo)數(shù)據(jù)源以及數(shù)據(jù)轉(zhuǎn)換。data pump 從源和目標(biāo)ole db 數(shù)據(jù)源間拷貝并轉(zhuǎn)換數(shù)據(jù); activex 腳本執(zhí)行:activex, vb, jscript 或perscript 腳本。凡是腳本支持的操作都可以執(zhí)行; 執(zhí)行處理任務(wù)(execute process task): 指執(zhí)行外部程序; 批量插入指執(zhí)行:sql server 批拷貝操作; 發(fā)送郵件:使用sql mail 發(fā)送尋呼或郵件; 數(shù)據(jù)驅(qū)動(dòng)查詢:執(zhí)行ole db 數(shù)據(jù)源間的高級(jí)數(shù)據(jù)傳遞; 轉(zhuǎn)換sql server 對(duì)象:即從sql server ole db 數(shù)據(jù)源向另外的同類數(shù)據(jù)源復(fù)制對(duì)象,例如表、索引、視圖。
步驟
步驟對(duì)象定義了任務(wù)執(zhí)行的順序,以及某一任務(wù)的執(zhí)行是否依賴于前一個(gè)任務(wù)的結(jié)果。如果某一任務(wù)不與步驟對(duì)象相關(guān)聯(lián),則其將無法被執(zhí)行。可以為某一步驟設(shè)定運(yùn)行條件,使其只在一定條件才被執(zhí)行,為了提高執(zhí)行的性能,也可以并行執(zhí)行多個(gè)步驟。
步驟的一個(gè)重要特性是步驟優(yōu)先權(quán)約束。步驟優(yōu)先權(quán)約束定義了前一步必須滿足哪些條件之后才會(huì)執(zhí)行當(dāng)前步驟,通過步驟優(yōu)先權(quán)約束可以控制任務(wù)的執(zhí)行順序。有三種類型的優(yōu)先權(quán)約束:
完成:表示前一步驟完成后就執(zhí)行當(dāng)前步驟,而不管其成功與否; 成功:表示前一步驟只有成功執(zhí)行才執(zhí)行當(dāng)前步驟; 失敗:表示前一步驟執(zhí)行失敗時(shí)才執(zhí)行當(dāng)前步驟。某一步驟可有多個(gè)優(yōu)先權(quán)約束,只有前一步滿足所有的約束后,才能執(zhí)行當(dāng)前步驟。
上一個(gè):茶梅的功效與作用
下一個(gè):office2010怎么卸載干凈win10(office2010怎樣卸載干凈)

2021年公認(rèn)口碑好的華為手機(jī)(華為好的幾款手機(jī)排行)
21朵玫瑰代表什么意思 玫瑰顏色不同寓意一樣嗎
組裝臺(tái)式電腦配置清單2018(組裝臺(tái)式電腦配置清單2020 1500左右)
電腦顯示屏黑屏但是指示燈是亮的,電腦黑屏按哪三個(gè)鍵恢復(fù)
自書遺囑涂改有效嗎
玻璃耐濕耐熱試驗(yàn)機(jī)如何加熱
什么是激光二極管?它有什么特點(diǎn)?
甲方對(duì)總包及分包的管理
絕緣靴手套耐壓試驗(yàn)儀操作注意事項(xiàng)
蘋果怎么用3dtouch,iphone 3d touch怎么打開
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos