資料庫管理員在跨伺服器遷移資料庫時,需根據資料量、停機容忍度、網路頻寬等條件選擇最適策略。本文整理六種主流遷移方法,分析優缺點與適用場景。
優點: 圖形化介面、支援異構資料源、可另存為 DTS 套件排程重複執行、彈性對應欄位對照與轉換。
缺點: 大量資料時效能不如 BCP/備份還原;外鍵關聯表需注意匯入順序或分批處理。
適用: 部分資料表遷移、異構資料庫同步、需重複執行的 ETL 任務。
優點: 效能極佳、記憶體佔用低、適合超大量資料匯出匯入純文字檔。
缺點: 非圖形化、僅支援 SQL Server 資料表/檢視與文字檔互轉、不直接處理關聯條件約束。
適用: 單表超大量資料初始化、跨版本純資料移轉、自動化腳本整合。
操作: 來源完整備份 → 複製 .bak 至目標機 → 目標機還原(可指定新資料庫名、強制覆蓋)。
優點: 完整保留結構、索引、外鍵、權限、統計資訊;還原速度快。
缺點: 需足夠磁碟空間暫存備份檔;跨版本還原需注意相容性。
適用: 整庫遷移、災難恢復演練、開發/測試環境快速複製生產庫。
操作: 停止服務 → 複製 .mdf/.ldf → 目標機執行 sp_attach_db 或 sp_attach_single_file_db(僅資料檔,日誌自動重建)。
優點: 無需備份/還原過程,檔案層級複製最快。
缺點: 需停機;來源與目標 SQL Server 版本、版次、修補程式等級需一致。
適用: 同版本硬體升級、資料庫檔案搬移磁碟陣列。
模式: SELECT ... INTO new_table(建新表)或 INSERT INTO target SELECT ... FROM source(既有表)。
優點: 極度彈性,可邊遷移邊轉換資料、過濾條件、分批 Commit 控制交易日誌膨脹。
缺點: 開發維護成本高、需處理平行處理與錯誤重試邏輯。
適用: 複雜資料轉換、異構同步、需業務邏輯介入的遷移。
前置條件: SQL Server Agent 與 MSDTC 啟動、所有發行表必須有主鍵、含 text/image 欄位需 WITH LOG、網域信任關係、代理服務帳號具網路存取權。
優點: 近即時同步、支援異地備援、可過濾資料列/欄位。
缺點: 架構複雜、故障排除困難、max text repl size 限制大型欄位。
適用: 異地高可用、報表伺服器卸載、多站點資料分發。
| 場景 | 首選方案 | 備選方案 |
|---|---|---|
| 整庫遷移、停機窗口充足 | 完整備份/還原 | 離線附加 |
| 部分資料表、異構來源 | DTS/SSIS | BCP + 腳本 |
| 超大單表、極致效能 | BCP | 分區表 + 切換 |
| 近即時同步、高可用 | 交易式複寫 | AlwaysOn 可用性群組 |