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

SQL Server 7.0 六大資料移轉方法完整比較:DTS、BCP、備份還原、檔案複製、應用程式、複寫

     編輯:關於SqlServer

方法一:DTS 設計師(圖形化、多任務、可存包重用)

  • 企業管理器 → 資料庫右鍵 →「所有工作」→「匯入/匯出資料」進入精靈。
  • 支援異構資料源間靈活複製,可另存為 DTS 套件排程執行。
  • 注意:有外鍵關聯的資料表需依順序移動(先主表後從表),或一次全複製後重建索引/外鍵。
  • 建議:建表腳本與索引/外鍵腳本分離,檔案群組分散不同磁碟以利效能。

方法二:BCP 命令列工具(高效能、低資源、無圖形介面)

  • 雖 SQL Server 7.0 不再推薦,但資深 DBA 仍偏愛。
  • 僅支援 SQL Server 資料表/檢視表 ↔ 文字檔案。
  • 優點:速度快、記憶體佔用少、開銷小。參考線上叢書語法。

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

  1. 來源資料庫完整備份至備份裝置。
  2. 複製備份檔至目標伺服器(本機還原最快)。
  3. 還原時指定相同資料庫名稱,勾選「強制還原」(覆蓋現有)。
  4. 可完整保留外鍵、主鍵、索引、權限等所有物件。

方法四:直接複製資料檔(.mdf/.ldf)並掛載

-- 完整掛載
EXEC sp_attach_db @dbname = 'test',
    @filename1 = 'd:\mssql7\data\test_data.mdf',
    @filename2 = 'd:\mssql7\data\test_log.ldf';

-- 僅掛載資料檔,自動重建日誌(原日誌遺失)
EXEC sp_detach_db @dbname = 'test';
EXEC sp_attach_single_file_db @dbname = 'test',
    @physname = 'd:\mssql7\data\test_data.mdf';

方法五:應用程式中自訂移轉(PB/VB/查詢分析器執行 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 選項;max text repl size 控制複寫大小上限。
  4. 參與複寫電腦需至少隱含共享(C$、D$...)。
  5. SQL Server Agent 服務帳號不可為本地系統帳號(需網路存取權)。
  6. 跨網域時需建立信任關係。

複寫適合持續同步場景,一次性移轉建議用前五種方法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved