萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

從 SQL Server 備份檔 (.bak) 導入現有資料庫:臨時庫中轉法

需從其他資料庫的備份檔 A1.bak 導入部分資料表到現有 DOE 資料庫,**保留 DOE 原有資料**。標準還原會覆蓋目標庫,故需「臨時庫中轉 → DTS 導入」兩階段操作。

階段一:還原到臨時資料庫

  1. 企業管理器 → 右鍵「資料庫」 → 「新增資料庫」 → 命名 A1_Temp
  2. 右鍵 A1_Temp → 「所有工作」 → 「還原資料庫」
  3. 「從裝置」 → 「選擇裝置」 → 「新增」 → 選 A1.bak
  4. 「選項」頁籤 → 勾選 「在現有資料庫上強制還原」
  5. 修改「移至實體檔案名稱」:
    C:\A1_Temp.mdf, C:\A1_Temp.ldf (避免覆蓋原檔)
  6. 確定完成還原,A1_Temp 現有完整結構與資料

階段二:DTS 導入目標資料庫

  1. 右鍵目標庫 DOE → 「所有工作」 → 「導入資料」
  2. 「選擇資料來源」 → 選 A1_Temp (SQL Server 驅動)
  3. 「選擇目的地」 → 自動為 DOE
  4. 「指定表複製或查詢」 → 選「複製資料表」 → 勾選需導入的表
  5. 可選「轉換」調整欄位對應、身分值保留等
  6. 完成嚮導,資料合併導入 DOE

清理

確認資料無誤後,刪除臨時庫 A1_Temp。

現代替代方案 (SQL 2005+)

  • 部分還原:RESTORE DATABASE ... FILEGROUP = 'fg_name' ... 僅還原特定檔案組
  • 資料表級還原:第三方工具 (Redgate SQL Backup Pro, Quest LiteSpeed) 支援從完整備份單表還原
  • BCP/SSIS:腳本化匯出匯入,適合自動化

關鍵點總結

步驟關鍵動作目的
建臨時庫CREATE DATABASE A1_Temp隔離環境,不污染目標庫
強制還原WITH REPLACE / 「強制還原」允許覆蓋臨時庫現有結構
改物理路徑MOVE TO 新路徑避免檔案衝突
DTS 導入選擇性複製表/資料只導需要的表,保留目標庫原有資料
copyright © 萬盛學電腦網 all rights reserved