SqlServer2000 DTS數據轉移記


今天遇到了軟件老版本數據庫升級的問題,想把客戶在用的老版本數據庫替換成新的,並且要把原來數據庫中的文件導入到新的庫中。一開始想用Sqlserver2005 來做,但居然沒發現數據庫導入導出菜單,后來上網查才知道原來Sqlserver2005 Express 版本中是不帶數據庫導入導出功能的。無奈只好再用DTS實現。

用DST實現數據導出方法很簡單首先是選擇數據源,選擇附加他們原來所有數據庫的服務器並選中對應的庫,然后選擇目的選擇我要升級導入數據的庫,然后是選擇數據轉換方法,我選擇數據庫對象間的復制和轉換方法,一開想按默認操作進行總是失敗,甚至想過導出中間文件再在新庫中導入的方法最后都沒成功,最后無奈之下在數據復制和轉換時修改了一些默認設置,1.去掉創建目的對象下的首先出去目的對象和包括所有對象;2.復制數據改為追加數據,3去掉復制所有對象后單擊后面的選擇對象選擇我只需要導出數據的表,4去掉默認選項,單擊后面的選項去掉一些主外鍵關聯,然后分了幾次導出數據,最終勉強成功。

下來又搜索一些DTS相關資料如下:

DTS 是一組工具,用於在一個或多個數據源(如 Microsoft SQL Server、Microsoft Excel 或 Microsoft Access)間導入、導出和轉換各種數據。通過 OLE DB(一種數據訪問的開放式標准)提供連接, 通過用於 ODBC 的 OLE DB 提供程序來支持 ODBC(開放式數據庫連接)數據源。

可以將 DTS 解決方案創建為一個或多個軟件包。每個軟件包可包含一組已安排好的任務,它們定義要執行的工作、對數據和對象的轉換、定義任務執行的工作流約束條件以及數據源和目標間的連接方式。DTS 軟件包還提供一些服務,如記錄軟件包執行詳細情況、控制事務和處理全局變量。

以下工具可用於創建和執行 DTS 軟件包:

•    導入/導出向導用於生成相對簡單的 DTS 軟件包,並支持數據移植和簡單轉換。

•    DTS 設計器以圖形方式來實現 DTS 對象模型,可用於創建具有一系列功能的 DTS 軟件包。

•    DTSRun 是用於執行現有 DTS 軟件包的命令提示實用程序。

•    DTSRunUI 是 DTSRun 的圖形界面,可以傳遞全局變量以及生成命令行。

•    SQLAgent 不是 DTS 應用程序,DTS 將其用於安排軟件包的執行。

使用 DTS 對象模型還可以用編程方式創建和運行軟件包,生成自定義任務和自定義轉換。

SQL Server提供了豐富的數據導入導出方法,這給我們提供了更多的選擇,但是這又會給我們帶來一個新問題:如何根據具體情況選擇合適的數據導入導出方法呢?如果是在SQL Server數據庫之間進行數據導入導出時,並且不需要對數據進行復雜的檢驗,最好使用Transact-SQL方法進行處理,因為在SQL Server數據庫之間進行數據操作時,SQL是非常快的。當然,如果要進行復雜的操作,如數據檢驗、轉換等操作時,最好還是使用DTS進行處理,因為DTS不光導數據效率高,而且能夠對數據進行深度控制。但是DTS的編程接口是基於com的,並且這個接口十分復雜,因此,使用程序調用DTS將變也會變得很復雜,因此, 當數據量不是很大,並且想將數據導入導出功能加入到程序中,而且沒有復雜的數據處理功能時,可以使用OPENDATASOURCE或OPENROWSET進行處理。BCP命令並不太適合通過程序來調用,如果需要使用批量的方式導數據,可以通過批處理文件調用BCP命令,這樣做即不需要編寫大量的程序,也無需在企業管理器中通過各種操作界面的切換來進行數據導入導出。因此,它比較適合在客戶端未安企業管理器或使用SQL Server Express時對數據進行快速導入導出的場合。

DTS正在逐漸淡出SQL Server 2005,它將會被一種新品牌的稱為SQL Server集成服務(SSIS)的抽取、傳輸和載入(ETL)引擎所取代。SQL Server 集成服務為構建一種比DTS更好的ETL解決方案提供了一個更為強大、靈活和更好的執行基礎,在SQL Server 2000中創建的DTS包仍然可以運行。為了簡化這個轉換過程,SQL Server 2005提供了一個升級向導來幫助數據庫管理員將包轉換為SSIS框架。然而,並不是所有的組件都可以被升級。例如,ActiveX的轉換對於升級向導來說就是一項挑戰,有可能是不能移植的。然而這意味着數據庫管理員們最終必須要用SSIS重新編寫這些包,在這樣做的過程中有可能要比使用DTS容易得多,這都要感謝SSIS提供的功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM