SQL Server 提供三種主要資料移轉方式:Transact-SQL 指令、命令列工具 BCP、資料轉換服務 (DTS)。本文從使用方式、靈活度、效能、自動化能力等維度詳細比較三者優劣,並提供實際程式碼範例。
SELECT * INTO table2 FROM table1、INSERT INTO table2 SELECT * FROM table3。OPENDATASOURCE(僅開啟連線)或 OPENROWSET(可直接查詢並過濾,較靈活)。SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','abc.mdb';'admin';'','SELECT * FROM table1')xp_cmdshell 在 T-SQL 中呼叫。bcp pubs.dbo.authors out c:\temp1.xls -c -q -S"SERVER" -U"sa" -P"pwd"Function Main() ... If DTSDestination("婚姻狀況")=1 Then "已婚" Else "未婚" ... End Function| 特性 | T-SQL | BCP | DTS |
|---|---|---|---|
| 異質資料庫支援 | OPENROWSET | OLE DB 目的地 | 完整 OLE DB/ODBC |
| 逐列轉換/清洗 | 困難 | 不支援 | 強力支援 (Script/COM) |
| 平行處理效能 | 一般 | 優異 | 良好 |
| 自動化/排程 | Job/排程 | 命令列/Job | Job/COM/封裝 |
| 視覺化設計 | 無 | 無 | 完整設計師 |