首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 資料移轉六大實戰方法:從 DTS 到檔案複製全解析

     編輯:關於SqlServer

方法一:DTS 設計器匯入/匯出(推薦用於部分資料表)

在 Enterprise Manager 中右鍵資料庫選擇「所有工作」→「匯入/匯出資料」,啟動精靈逐步操作。優點:視覺化介面、支援多任務、可另存為 DTS 套件重複使用。注意:有外鍵的資料表需注意匯入順序,或先匯入資料再重建外鍵/索引。建議建表、建索引、建外鍵腳本分離,並將資料檔案置於不同磁碟以利效能。

方法二:BCP 命令列工具(高效能、低資源)

雖 SQL Server 7.0 不再推薦,但許多 DBA 仍偏好。介面非圖形化,僅支援資料表/檢視表與文字檔互轉。優點:速度快、記憶體佔用少、開銷小。適合大量資料快速匯出入。

方法三:完整備份與還原(最完整、保留所有物件)

  1. 來源資料庫完整備份至備份裝置。
  2. 將備份檔複製至目標伺服器(本機還原較快)。
  3. 在目標伺服器執行還原,資料庫名稱必須相同,選擇「強制還原」覆蓋現有資料庫。

此法可完整保留外鍵、主鍵、索引、權限等所有物件。

方法四:直接複製資料檔與記錄檔(附加資料庫)

複製 .mdf 與 .ldf 至目標伺服器,使用 sp_attach_db 附加:

EXEC sp_attach_db @dbname = 'test',
    @filename1 = 'd:\mssql7\data\test_data.mdf',
    @filename2 = 'd:\mssql7\data\test_log.ldf'

若不需原記錄檔,可用 sp_detach_db + sp_attach_single_file_db 僅附加資料檔,SQL Server 會自動建立新記錄檔(原記錄遺失)。

方法五:應用程式自訂 SQL 腳本(彈性最高)

在 PB、VB 或 Query Analyzer 執行自訂 SQL:

  • SELECT ... INTO new_table FROM ... WHERE ...:建立新表並匯入資料。
  • INSERT INTO old_table SELECT ... FROM ... WHERE ...:匯入既有表(推薦,結構更穩健)。

適用於異構平台或需資料轉換情境,但跨伺服器需良好網路頻寬。

方法六:SQL Server 複寫功能(企業級同步)

強大但複雜,成功前提:

  1. SQL Server Agent 與 MSDTC 服務啟動。
  2. 所有複寫資料表必須有主鍵。
  3. 含 text/image 欄位必須使用 WITH LOG 選項。
  4. max text repl size 限制複寫的文字/影像最大長度。
  5. 參與複寫的電腦需至少隱含共享 (C$, D$...)。
  6. SQL Server Agent 服務帳號不能為本地系統帳號。
  7. 跨網域需建立信任關係。

選擇建議

情境推薦方法
少數資料表、需視覺化操作DTS 設計器
大量資料、追求極致速度BCP / 備份還原 / 檔案複製
完整資料庫遷移、保留所有物件備份還原 / 檔案複製
跨平台、需資料清洗轉換應用程式自訂 SQL
多伺服器持續同步複寫功能
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved