升級前準備清單
- 版本相容性驗證:確認目標版本支援現有功能
- 完整備份:所有資料庫檔案、系統資料庫
- DBCC 一致性檢查:
DBCC CHECKDB 確保資料庫無損壞
- 磁碟空間評估:升級組件與使用者資料庫所需空間
- 系統資料庫自動增長:master、model、msdb、tempdb 需有足夠空間
- 登入資訊備份:master 資料庫中的登入資訊對還原至關重要
- 停用啟動預存程序:防止升級過程中服務重啟被阻塞
- 停止複寫:確保複寫日誌為空
- 調整最大工作執行緒:建議升級前設為 0 讓引擎自動計算
- 關閉所有相依應用:本地連線會導致升級失敗
- 64 位元環境:先升級 Analysis Services 再升級資料庫引擎
升級過程
- 執行 SQL Server 2008 安裝程式,偵測到舊版本會自動升級所有程式檔案,保留資料
- 舊版聯機叢書保持不變
- 注意:升級後舊版實例被覆蓋,不再存在,務必先備份
- 若機器已裝 SQL Server 2008 預設實例,勿再安裝 SQL Server 2000 預設實例(會停用 2008 實例)
升級後資料庫相容性等級
| 資料庫 | 升級後相容性等級 |
| tempdb、model、msdb、Resource | 100 (SQL Server 2008) |
| master | 保留原等級,若 < 80 則設為 80 |
| 使用者資料庫 | 80/90 保持不變;≤70 強制設為 80 |
新建資料庫繼承 model 的相容性等級。
資料庫遷移替代方案
- 備份/還原
- 分離/附加
- 複製資料庫精靈
- SSIS 匯入/匯出精靈
- 大量複製
限制:來源與目的伺服器資料庫同名時無法直接移動/複製。
升級後必做任務
- 重新註冊伺服器
- 重建全文目錄(提升效能)
- 從 SQL Server 2000 升級:執行
sp_updatestats 更新統計資訊(2005 升級則免)
- 執行
DBCC UPDATEUSAGE 修正頁/列計數
- 配置表面區域(啟用必要服務/功能)
- 檢查/移除分區表/索引上的
USE PLAN 提示(2008 優化器變更可能導致計畫失效)
- 全文索引升級後自動重建,可用
sp_fulltext_service 'pause_indexing', 1 暫停以緩解資源壓力
容錯移轉叢集注意事項
- 遵循滾動升級流程,確保服務連續性
- 升級被動節點 → 手動故障轉移 → 升級原主動節點
總結
「三分技術,七分準備」。嚴格遵循升級前清單、熟悉升級流程、預留充足回滾時間窗,是順利升級的關鍵。升級後驗證與統計更新同樣不可省略。