| 方法 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| 1. DTS 設計師 | 視覺化、多任務、可儲存包重用、靈活跨異構來源 | 外鍵須注意順序、大量資料較慢 | 部分表遷移、異構資料來源、需重複執行 |
| 2. BCP 工具 | 速度快、記憶體佔用低、無圖形介面適合腳本自動化 | 僅支援文字檔↔表、需手工處理格式檔 | 大量資料匯入/匯出、批次作業 |
| 3. 備份/還原 | 完整保留結構/索引/觸發/權限、最可靠 | 需同名資料庫、跨版本有相容性限制 | 整庫遷移、災難恢復、建立測試環境 |
| 4. 分離/附加 (sp_attach_db) | 極快 (僅元資料操作)、保留所有物件 | 需停止資料庫、檔案層級複製、跨版本風險 | 同版本實例間快速移動、唯讀資料庫部署 |
| 5. 自訂程式 (VB/PB/Query Analyzer) | 彈性最高、可邊轉換邊清洗 | 開發成本高、遠程需高頻寬 | 複雜轉換邏輯、增量同步、ETL 流程 |
| 6. 複寫 | 近即時同步、支援異構、可篩選欄位/列 | 設定複雜、需 Agent/MSDTC、主鍵必備、text/image 需 WITH LOG | 異地備援、報表伺服器卸載、多站點同步 |
企業管理器 → 資料庫右鍵 → 所有工作 → 匯入/匯出資料。可另存為 .dts 包排程執行。
bcp db.dbo.table OUT file.txt -c -t, -S server -U sa -P pwd
bcp db.dbo.table IN file.txt -c -t, -S server -U sa -P pwd
-- 分離
EXEC sp_detach_db 'dbname'
-- 附加 (含記錄檔)
EXEC sp_attach_db @dbname='dbname', @filename1='D:\Data\db.mdf', @filename2='D:\Log\db.ldf'
-- 僅附加資料檔 (自動建立新記錄檔)
EXEC sp_attach_single_file_db @dbname='dbname', @physname='D:\Data\db.mdf'
text/image 欄位發行需 WITH LOG,受 max text repl size 限制。