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

SQL Server 2008 數據庫遷移兩大法寶:生成腳本法 vs 分離附加法圖文對比

     編輯:關於SqlServer

方法一:生成腳本導出導入(跨版本、跨機器、結構+數據)

  1. 右鍵源數據庫 → 任務 → 生成腳本。
  2. 「設置腳本選項」→ 高級 → 要編寫腳本的數據類型 = 架構和數據(2008 選 編寫數據的腳本 = True)。
  3. 輸出到文件(如 DB_Script.sql)。
  4. 目標實例新建查詢窗口 → 打開腳本文件 → 從 SET ANSI_NULLS ON 開始執行(刪除前面的 USE [master] 等干擾語句)。

優點:跨版本兼容(2008→2019)、可編輯腳本、無文件鎖定。
缺點:大數據量極慢、文件巨大、無事務保護(部分失敗難回滾)。

方法二:分離 + 附加(同版本、同架構、極速整庫遷移)

  1. 右鍵源數據庫 → 任務 → 分離 → 勾選 刪除連接、更新統計信息 → 確定。
  2. 文件系統復制 .mdf、.ldf 到目標服務器數據目錄(默認 MSSQL\DATA)。
  3. 目標實例右鍵 數據庫 → 附加 → 添加 → 選擇 .mdf → 確定。

優點:秒級遷移(僅文件拷貝)、保留所有元數據/統計/權限/文件組結構。
缺點:要求源/目標版本相同或目標版本更高、需停機分離、文件級鎖定風險。

版本兼容性鐵律

源版本目標版本分離附加生成腳本備份還原
20082008 / 2008 R2✅✅✅
20082012 / 2014 / 2016 / 2019✅✅✅
20122008❌✅ (腳本兼容)❌
20192017❌✅ (腳本兼容)❌

結論:向上遷移三法皆可,分離附加/備份還原最快;向下/跨版本只能用生成腳本(或 BCP/SSIS 導數據)。

生產遷移清單

  1. 評估數據量、停機窗口、版本差異選擇方案。
  2. 遷移前:DBCC CHECKDB、完整備份、腳本導出對象清單對比。
  3. 遷移中:記錄關鍵時間點、錯誤日志、驗證行數/檢查和/關鍵業務查詢。
  4. 遷移後:更新統計 sp_updatestats、重建索引、修正孤立用戶 sp_change_users_login、應用端連接字符串切換驗證。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved