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

SQL Server 2005 升級遷移至 2008 R2 實戰步驟詳解

     編輯:SQL Server 2005

遷移策略:就地升級 vs. 並行遷移

為保留所有登入、作業、連結伺服器等實例級物件,採用「系統資料庫附帶遷移」的並行遷移方案:新機安裝 2008 R2 → 替換系統資料庫檔案 → 服務啟動自動升級 → 掛載使用者資料庫。

詳細步驟

  1. 目標機(B)安裝 SQL Server 2008 R2 SP2,實例名、排序規則、資料/記錄檔預設路徑與來源機(A)保持一致。
  2. 備份 B 機原始系統庫(master、msdb、model)並複製檔案備份,防止升級失敗需回滾。
  3. 嘗試直接還原 A 機 master 失敗:版本不相容(2005 → 2008 R2 無法直接 RESTORE)。
  4. 核心技巧:離線替換系統資料庫檔案
    a. A 機將 master 還原為 master2,卸離並改名為 master.mdf/mastlog.ldf。
    b. 複製 A 機 model、msdb 資料檔至 B 機對應 DATA 目錄。
    c. B 機停止 SQL 服務,替換上述三個系統庫檔案。
  5. 啟動 B 機 SQL 服務,查看錯誤日誌,服務會自動執行系統資料庫升級腳本,數分鐘後完成啟動。
  6. 調整系統庫檔案路徑(如需變更盤符):
    ALTER DATABASE msdb MODIFY FILE (NAME=msdbdata, FILENAME='新路徑\msdbdata.mdf');
    停止服務 → 移動實體檔 → 重啟服務。依序處理 msdb、model、tempdb。
  7. 遷移登入與 Agent 作業:
    使用 SSIS「傳輸登入帳號」與「傳輸作業」任務,或腳本 sp_help_revlogin 輸出登入建立腳本。注意先在目標建立相同的操作員與 Database Mail 設定檔。
  8. 掛載使用者資料庫:複製所有使用者資料庫檔(.mdf/.ldf)至 B 機相同路徑,SSMS 右鍵「附加」或 CREATE DATABASE ... FOR ATTACH。
  9. 後續配置:連結伺服器、備份維護計劃、權限稽核、連線字串更新、應用測試。

關鍵風險點與對策

風險對策
master 升級腳本報錯導致服務無法啟動保留 B 機原始系統庫檔案,可快速換回回滾
msdb 升級後作業/排程遺失以 SSIS 傳輸作業為主,腳本備份為輔
排序規則不一致導致字串比較異常安裝時強制指定與來源相同的 Collation
使用者資料庫相容性等級未更新附加後執行 ALTER DATABASE ... SET COMPATIBILITY_LEVEL = 100

驗證清單

  • 登入帳號、權限、預設資料庫正確。
  • Agent 作業、排程、警示、操作員完整。
  • 連結伺服器連通性測試通過。
  • 應用端連線字串切換後功能測試無誤。
  • 備份作業成功執行並能還原驗證。

總結

「離線替換系統庫檔案 + 服務啟動自動升級」是跨大版本(2005→2008 R2)保留實例級物件最可靠的路徑。關鍵在於:同實例名、同排序規則、同檔案路徑、保留回滾檔案、升級後驗證每一項實例級物件。

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