?? microsoft sql server 2000
字號:
作者:Excalibur
email: excalibur@21cn.com
日期:2001-2-8 14:35:34
Microsoft SQL Server 2000的數(shù)據(jù)轉(zhuǎn)換服務(wù)(上)
DTS簡介
大多數(shù)組織都使用多種格式和多個位置來存儲數(shù)據(jù)。為了支持決策、
改善系統(tǒng)性能或?qū)ΜF(xiàn)有系統(tǒng)進(jìn)行升級,經(jīng)常必須將數(shù)據(jù)從一個數(shù)據(jù)存儲位
置移動到另一個存儲位置。
Microsoft SQL Server 2000 數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS )提供一組工具,
可以從不同的源將數(shù)據(jù)抽取、轉(zhuǎn)換和合并到一個或多個目標(biāo)位置。借助于
DTS工具,您可以創(chuàng)建適合于您的組織特定需要的自定義移動解決方案,
如以下方案所示:
您已在較早版本的 SQL Server 或另一平臺上部署了一個數(shù)據(jù)庫應(yīng)用
程序,如 Microsoft Access.該應(yīng)用程序的新版本要求 SQL Server 2000,
因此需要您更改數(shù)據(jù)庫架構(gòu)并轉(zhuǎn)換某些數(shù)據(jù)類型。
要復(fù)制和轉(zhuǎn)換數(shù)據(jù),您可以生成一個 DTS解決方案,該方案可把數(shù)據(jù)
庫對象從原數(shù)據(jù)源復(fù)制到 SQL Server 2000數(shù)據(jù)庫中,同時重新映射列并
更改數(shù)據(jù)類型。可以使用 DTS工具運(yùn)行此解決方案,或者將該解決方案嵌
入您的應(yīng)用程序。
您必須將幾個主要的 Microsoft Excel電子表格合并到 SQL Server
數(shù)據(jù)庫。幾個部門會在月末創(chuàng)建這些電子表格,但是并沒有設(shè)定完成所有
電子表格的時間。
要合并電子表格,可以生成一個 DTS解決方案,在消息傳送到消息隊(duì)
列時運(yùn)行該解決方案。此消息觸發(fā) DTS從電子表格抽取數(shù)據(jù),執(zhí)行所有定
義的轉(zhuǎn)換然后將數(shù)據(jù)加載到 SQL Server 數(shù)據(jù)庫中。
您的數(shù)據(jù)倉庫包含有關(guān)業(yè)務(wù)操作的歷史數(shù)據(jù),您使用 Microsoft SQL
Server 2000 分析服務(wù)來匯總數(shù)據(jù)。而該數(shù)據(jù)倉庫每晚需要從聯(lián)機(jī)事務(wù)處
理(OLTP)數(shù)據(jù)庫進(jìn)行更新。OLTP系統(tǒng)每天 24 小時都在運(yùn)行,所以性能
至關(guān)重要。
您可以生成一個 DTS解決方案,該方案使用文件傳輸協(xié)議(FTP )將
數(shù)據(jù)文件移動到本地驅(qū)動器,將數(shù)據(jù)加載到一個實(shí)際的表中,然后使用分
析服務(wù)對數(shù)據(jù)進(jìn)行合計(jì)。可以安排每晚運(yùn)行 DTS解決方案,還可以使用新
的 DTS記錄選項(xiàng)來跟蹤該進(jìn)程的進(jìn)行時間,從而可以分析不同時間段內(nèi)的
性能。
什么是 DTS?
DTS是一組工具,用于一個或多個數(shù)據(jù)源(如Microsoft SQL Server、
Microsoft Excel 或 Microsoft Access )間導(dǎo)入、導(dǎo)出和轉(zhuǎn)換各種數(shù)據(jù)。
通過 OLE DB (一種數(shù)據(jù)訪問的開放式標(biāo)準(zhǔn))提供連接,通過用于 ODBC
的 OLE DB 提供程序來支持 ODBC (開放式數(shù)據(jù)庫連接)數(shù)據(jù)源。
可以將 DTS解決方案創(chuàng)建為一個或多個軟件包。每個軟件包可包含一
組已安排好的任務(wù),它們定義要執(zhí)行的工作、對數(shù)據(jù)和對象的轉(zhuǎn)換、定義
任務(wù)執(zhí)行的工作流約束條件以及數(shù)據(jù)源和目標(biāo)間的連接方式。DTS 軟件包
還提供一些服務(wù),如記錄軟件包執(zhí)行詳細(xì)情況、控制事務(wù)和處理全局變量。
以下工具可用于創(chuàng)建和執(zhí)行 DTS 軟件包:
●導(dǎo)入/導(dǎo)出向?qū)в糜谏上鄬唵蔚?DTS 軟件包,并支持?jǐn)?shù)據(jù)移植和簡
單轉(zhuǎn)換。
●DTS設(shè)計(jì)器以圖形方式來實(shí)現(xiàn) DTS 對象模型,可用于創(chuàng)建具有一系列功
能的 DTS 軟件包。
●DTSRun 是用于執(zhí)行現(xiàn)有 DTS 軟件包的命令提示實(shí)用程序。
●DTSRunUI 是 DTSRun 的圖形界面,可以傳遞全局變量以及生成命令行。
●SQLAgent 不是 DTS 應(yīng)用程序,DTS 將其用于安排軟件包的執(zhí)行。
使用 DTS對象模型還可以用編程方式創(chuàng)建和運(yùn)行軟件包,生成自定義
任務(wù)和自定義轉(zhuǎn)換。
DTS 的新功能
Microsoft SQL Server 2000 中加入了多種 DTS 增強(qiáng)功能和新功能:
●新的 DTS 任務(wù)包括 FTP 任務(wù)、執(zhí)行軟件包任務(wù)、動態(tài)屬性任務(wù)和信息
隊(duì)列任務(wù)。
●增強(qiáng)的記錄功能可以保存每個軟件包的執(zhí)行信息,從而為您保留一個完
整的執(zhí)行歷史記錄,并可以查看每一任務(wù)的每個進(jìn)程的信息。可以生成
異常情況文件,文件中包含因錯誤而無法處理的數(shù)據(jù)行。
●您可以將 DTS 軟件包另存為 Microsoft Visual Basic? 文件。
●新的多階段數(shù)據(jù)泵允許高級用戶自定義不同階段的數(shù)據(jù)轉(zhuǎn)換操作。還可
以將全局變量用作查詢的輸入?yún)?shù)。
●您可以在 DTS 轉(zhuǎn)換任務(wù)和執(zhí)行 SQL 任務(wù)時使用參數(shù)化源查詢。
●可以使用執(zhí)行軟件包任務(wù)將全局變量的值從父軟件包動態(tài)分配到子軟件
包。
使用 DTS 設(shè)計(jì)器
DTS 設(shè)計(jì)器以圖形方式實(shí)現(xiàn) DTS對象模型,使您可以用圖形方式創(chuàng)建
DTS 軟件包。您可以使用 DTS設(shè)計(jì)器執(zhí)行以下任務(wù):
●創(chuàng)建包含一個或多個步驟的的簡單軟件包。
●創(chuàng)建包括復(fù)雜工作流的軟件包,這些工作流包括多個步驟,而這些步驟
使用條件邏輯、事件驅(qū)動代碼或與數(shù)據(jù)源的多種連接。
●編輯現(xiàn)有軟件包。
DTS 設(shè)計(jì)器界面包括一個工作區(qū)(用于生成軟件包)、幾個工具欄
(其中包含可拖動到設(shè)計(jì)工作表上的軟件包元素)以及幾個菜單(其中包
含工作流和軟件包管理命令)。
圖 1. DTS 設(shè)計(jì)器界面
通過將連接和任務(wù)拖動到設(shè)計(jì)工作表,然后指定工作流的執(zhí)行順序,
可以方便地使用 DTS設(shè)計(jì)器來生成功能強(qiáng)大的 DTS軟件包。以下各部分將
對任務(wù)、工作流、連接和轉(zhuǎn)換進(jìn)行定義,并闡釋使用 DTS設(shè)計(jì)器實(shí)施 DTS
解決方案的方便性。
任務(wù):定義軟件包中的步驟
一個 DTS軟件包通常包括一個或多個任務(wù)。每個任務(wù)定義一個在軟件
包執(zhí)行期間可能要執(zhí)行的工作項(xiàng)。可以使用這些任務(wù)進(jìn)行以下操作:
● 轉(zhuǎn)換數(shù)據(jù)
轉(zhuǎn)換數(shù)據(jù)任務(wù) 用于在源和目標(biāo)間移動數(shù)據(jù),可以選擇對數(shù)據(jù)應(yīng)用列一級的轉(zhuǎn)換。
數(shù)據(jù)驅(qū)動的查詢?nèi)蝿?wù) 用于對數(shù)據(jù)執(zhí)行靈活的基于 SQL 事務(wù)的操作,包括存儲過程和 INSERT、UPDATE 或 DELETE 語句。
并行數(shù)據(jù)泵任務(wù)1 只可按編程方式使用,并行數(shù)據(jù)泵任務(wù)執(zhí)行的功能與轉(zhuǎn)換數(shù)據(jù)和數(shù)據(jù)驅(qū)動的查詢?nèi)蝿?wù)相同,但它支持 OLE DB 2.5 或更高版本所定義的分層次的行集合。
● 復(fù)制和管理數(shù)據(jù)
批量插入任務(wù) 用于快速將大量數(shù)據(jù)加載到 SQL Server 表或視圖中。
執(zhí)行 SQL 任務(wù) 用于在軟件包執(zhí)行期間運(yùn)行 SQL 語句。執(zhí)行 SQL 任務(wù)還可以保存作為查詢結(jié)果的數(shù)據(jù)。
復(fù)制 SQL Server 對象任務(wù) 用于將 SQL Server 對象從一個 SQL Server 或其實(shí)例復(fù)制到另一個 SOL Server 或?qū)嵗?梢詮?fù)制對象(如:數(shù)據(jù)和表)以及對象(如:視圖和存儲過程)的定義。
傳輸數(shù)據(jù)庫任務(wù)1 用于將 SQL Server 數(shù)據(jù)庫從 SQL Server 7.0 版本或 SQL Server 2000 的一個實(shí)例移動或復(fù)制到 SQL Server 2000 的一個實(shí)例中。
傳輸錯誤消息任務(wù)1 用于將針對用戶的錯誤消息(通過 sp_addmessage 系統(tǒng)存儲過程創(chuàng)建)從 SQL Server 7.0 或 SQL Server 2000 的一個實(shí)例復(fù)制到 SQL Server 2000 的一個實(shí)例中。
傳輸?shù)卿浫蝿?wù) 1 用于將登錄信息從 SQL Server 7.0 或 SQL Server 2000 的一個實(shí)例復(fù)制到 SQL Server 2000 的一個實(shí)例中。
傳輸作業(yè)任務(wù)1 用于將作業(yè)從 SQL Server 7.0 或 SQL Server 2000 的一個實(shí)例復(fù)制到 SQL Server 2000 的一個實(shí)例中。
傳輸主存儲過程任務(wù) 1 用于將存儲過程從 SQL Server 7.0 或 SQL Server 2000 的一個實(shí)例的主數(shù)據(jù)庫復(fù)制到 SQL Server 2000 的一個實(shí)例的主數(shù)據(jù)庫。
● 將任務(wù)作為軟件包中的作業(yè)運(yùn)行
ActiveX 腳本任務(wù) 用于編寫代碼以執(zhí)行在其它 DTS 任務(wù)中無法執(zhí)行的功能。
動態(tài)屬性任務(wù)1 用于在軟件包運(yùn)行時從 DTS 軟件包以外的源檢索值,并將這些值分配給選定的軟件包屬性。
執(zhí)行軟件包任務(wù)1 用于運(yùn)行軟件包內(nèi)其它的 DTS 軟件包。
執(zhí)行進(jìn)程任務(wù) 用于運(yùn)行可執(zhí)行程序或批處理文件。
文件傳輸協(xié)議 (FTP) 任務(wù)1 用于從遠(yuǎn)程服務(wù)器或 Internet 下載數(shù)據(jù)文件。
消息隊(duì)列任務(wù)1 用于從 Microsoft 消息隊(duì)列發(fā)送和接收消息。
發(fā)送郵件任務(wù) 用于發(fā)送電子郵件消息。
分析服務(wù)處理任務(wù)2 用于對 SQL Server 2000 分析服務(wù)中定義的一個或多個對象執(zhí)行處理。
數(shù)據(jù)挖掘任務(wù)1,2 用于從 SQL Server 2000 分析服務(wù)中定義的數(shù)據(jù)挖掘模式對象中創(chuàng)建謂詞查詢或輸出表。
1 SQL Server 2000 中的新功能。
2 只在安裝了 SQL Server 2000 分析服務(wù)的前提下可用。
摘自http://www.microsoft.com/china/msdn/?MSCOMTB=ICP_MSDN
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -